### PHP4 与 MySQL 数据库操作函数详解(五)

(7) 数据库信息函数（2 个）：
1、mysql_fetch_field()
格式：object mysql_fetch_field(int query , int [field_offset]);
返回 1 个对象，即一哈希表，下标有：
table : 表名
name : 字段名
max_length : 该字段的最大长度
not_null : 字段为 not null 则返回 1，否则返回 0
primary_key : 字段为 primary key 则返回 1，否则返回 0
unique_key : 字段为 unique key 则返回 1，否则返回 0
multiple_key : 字段为非 unique key 则返回 1，否则返回 0
numeric : 字段为 numeric 则返回 1，否则返回 0
blob : 字段为 blob 则返回 1，否则返回 0
type : 字段的类型
unsigned : 字段为 unsigned 则返回 1，否则返回 0
zerofill : 字段为 zero filled 则返回 1，否则返回 0
引用格式为：对象名->下标名
使用此函数可以得到表名、字段名、类型.......
例子：
<?php
$query = mysql_query($sql , $connect);
while($object = mysql_fetch_field($query))
{
echo "table name : ".$object->table."<br>";
echo "field name : ".$object->name."<br>";
echo "primary key : ".$object->primary_key."<br>";
echo "not null : ".$object->not_null."<br>";
echo "field type : ".$object->type."<br>";
echo "field max length : ".$object->max_length."<br>";
}
?>
Note : 哈希表的是从 0 坐标开始的，即第一个字段为哈希表中的 0 项。
如果我们想直接得到哈希表的第三项即第三个字段的信息，可用如下格式：
<?php
$query = mysql_query($sql , $connect);
$object = mysql_fetch_field($query , 2);
echo "table name : ".$object->table."<br>";
echo "field name : ".$object->name."<br>";
echo "primary key : ".$object->primary_key."<br>";
echo "not null : ".$object->not_null."<br>";
echo "field type : ".$object->type."<br>";
echo "field max length : ".$object->max_length."<br>";
?>
其实这也可以通过下面这个函数来达到同样的目的。
2、mysql_field_seek()
格式：int mysql_field_seek(int $query , int field_offset);
将游标移到指定的字段上。
例子：
<?php
$query = mysql_query($sql , $connect);
$seek = mysql_field_seek($query , 2);
$object = mysql_fetch_field($query);
echo "table name : ".$object->table."<br>";
echo "field name : ".$object->name."<br>";
echo "primary key : ".$object->primary_key."<br>";
echo "not null : ".$object->not_null."<br>";
echo "field type : ".$object->type."<br>";
echo "field max length : ".$object->max_length."<br>";
?>
这样也达到与上例同样的要求。