«

PHP:MySQL函数mysql_fetch_field()的用法

时间:2024-3-1 20:44     作者:韩俊     分类: PHP


mysql_fetch_field

(PHP 4, PHP 5)

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

说明

  object <strong>mysql_fetch_field</strong>
   ( resource <code>$result</code>
  [, int <code>$field_offset</code>
 ] )
<p>
 返回一个包含字段信息的对象。
</p>
<p>
 <strong>mysql_fetch_field()</strong>
 可以用来从某个查询结果中取得字段的信息。如果没有指定字段偏移量,则下一个尚未被
 <strong>mysql_fetch_field()</strong> 取得的字段被提取。
</p>
<p>
 对象的属性为:
    name - 列名
    table - 该列所在的表名
    max_length - 该列最大长度
    not_null - 1,如果该列不能为 <strong><code>NULL</code></strong>
    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
</p>
<p><strong>Note</strong>: 此函数返回的字段名大小写敏感。</p>
<p>
  <p><strong>Example #1 <strong>mysql_fetch_field()</strong></strong></p>
<?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);
?>
</p>
<p>
 参见 mysql_field_seek()。
</p>

参数

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->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);
?>

注释

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

参见

mysql_field_seek() - 将结果集中的指针设定为制定的字段偏移量

标签: php php教程

热门推荐