mysql_fetch_field

(PHP 4, PHP 5)

mysql_fetch_field 從結(jié)果集中取得列信息并作為對(duì)象返回

說明

mysql_fetch_field(resource $result, int $field_offset = ?): object

返回一個(gè)包含字段信息的對(duì)象。

mysql_fetch_field() 可以用來從某個(gè)查詢結(jié)果中取得字段的信息。如果沒有指定字段偏移量,則下一個(gè)尚未被 mysql_fetch_field() 取得的字段被提取。

對(duì)象的屬性為:

  • name - 列名
  • table - 該列所在的表名
  • max_length - 該列最大長度
  • not_null - 1,如果該列不能為 null
  • primary_key - 1,如果該列是 primary key
  • unique_key - 1,如果該列是 unique key
  • multiple_key - 1,如果該列是 non-unique key
  • numeric - 1,如果該列是 numeric
  • blob - 1,如果該列是 BLOB
  • type - 該列的類型
  • unsigned - 1,如果該列是無符號(hào)數(shù)
  • zerofill - 1,如果該列是 zero-filled

注意: 此函數(shù)返回的字段名大小寫敏感

示例 #1 mysql_fetch_field()

<?php
mysql_connect
('localhost:3306'$user$password)
    or die(
"Could not connect: " mysql_error());
mysql_select_db("database");
$result mysql_query("select * from table")
    or die(
"Query failed: " mysql_error());
/* get column metadata */
$i 0;
while (
$i mysql_num_fields($result)) {
    echo 
"Information for column $i:<br />\n";
    
$meta mysql_fetch_field($result);
    if (!
$meta) {
        echo 
"No information available<br />\n";
    }
    echo 
"<pre>
blob:         
$meta->blob
max_length:   
$meta->max_length
multiple_key: 
$meta->multiple_key
name:         
$meta->name
not_null:     
$meta->not_null
numeric:      
$meta->numeric
primary_key:  
$meta->primary_key
table:        
$meta->table
type:         
$meta->type
unique_key:   
$meta->unique_key
unsigned:     
$meta->unsigned
zerofill:     
$meta->zerofill
</pre>"
;
    
$i++;
}
mysql_free_result($result);
?>

參見 mysql_field_seek()。

參數(shù)

result

resource 型的結(jié)果集。此結(jié)果集來自對(duì) mysql_query() 的調(diào)用。

field_offset

The numerical field offset. If the field offset is not specified, the next field that was not yet retrieved by this function is retrieved. The field_offset starts at 0.

返回值

Returns an object containing field information. The properties of the object are:

  • name - column name
  • table - name of the table the column belongs to
  • max_length - maximum length of the column
  • not_null - 1 if the column cannot be null
  • primary_key - 1 if the column is a primary key
  • unique_key - 1 if the column is a unique key
  • multiple_key - 1 if the column is a non-unique key
  • numeric - 1 if the column is numeric
  • blob - 1 if the column is a BLOB
  • type - the type of the column
  • unsigned - 1 if the column is unsigned
  • zerofill - 1 if the column is zero-filled

范例

示例 #2 mysql_fetch_field() example

<?php
$conn 
mysql_connect('localhost''mysql_user''mysql_password');
if (!
$conn) {
    die(
'Could not connect: ' mysql_error());
}
mysql_select_db('database');
$result mysql_query('select * from table');
if (!
$result) {
    die(
'Query failed: ' mysql_error());
}
/* get column metadata */
$i 0;
while (
$i mysql_num_fields($result)) {
    echo 
"Information for column $i:<br />\n";
    
$meta mysql_fetch_field($result$i);
    if (!
$meta) {
        echo 
"No information available<br />\n";
    }
    echo 
"<pre>
blob:         
$meta->blob
max_length:   
$meta->max_length
multiple_key: 
$meta->multiple_key
name:         
$meta->name
not_null:     
$meta->not_null
numeric:      
$meta->numeric
primary_key:  
$meta->primary_key
table:        
$meta->table
type:         
$meta->type
unique_key:   
$meta->unique_key
unsigned:     
$meta->unsigned
zerofill:     
$meta->zerofill
</pre>"
;
    
$i++;
}
mysql_free_result($result);
?>

注釋

注意: 此函數(shù)返回的字段名大小寫敏感。

參見

  • mysql_field_seek() - 將結(jié)果集中的指針設(shè)定為制定的字段偏移量