Php/docs/function.mysql-fetch-field

来自菜鸟教程
跳转至:导航、​搜索

mysql_fetch_field

(PHP 4, PHP 5)

mysql_fetch_field 从结果集中取得列信息并作为对象返回


说明

mysql_fetch_field ( resource $result [, int $field_offset ] ) : object

返回一个包含字段信息的对象。

mysql_fetch_field() 可以用来从某个查询结果中取得字段的信息。如果没有指定字段偏移量,则下一个尚未被 mysql_fetch_field() 取得的字段被提取。

对象的属性为:

  • 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,如果该列是无符号数
  • zerofill - 1,如果该列是 zero-filled

Note: 此函数返回的字段名大小写敏感

Example #1 mysql_fetch_field()

<?phpmysql_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->blobmax_length:   $meta->max_lengthmultiple_key: $meta->multiple_keyname:         $meta->namenot_null:     $meta->not_nullnumeric:      $meta->numericprimary_key:  $meta->primary_keytable:        $meta->tabletype:         $meta->typeunique_key:   $meta->unique_keyunsigned:     $meta->unsignedzerofill:     $meta->zerofill</pre>";    $i++;}mysql_free_result($result);?>

参见 mysql_field_seek()


参数

result
resource 型的结果集。此结果集来自对 mysql_query() 的调用。
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


范例

Example #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->blobmax_length:   $meta->max_lengthmultiple_key: $meta->multiple_keyname:         $meta->namenot_null:     $meta->not_nullnumeric:      $meta->numericprimary_key:  $meta->primary_keytable:        $meta->tabletype:         $meta->typeunique_key:   $meta->unique_keyunsigned:     $meta->unsignedzerofill:     $meta->zerofill</pre>";    $i++;}mysql_free_result($result);?>

注释

Note: 此函数返回的字段名大小写敏感

参见