(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()
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:
n";
$meta = mysql_fetch_field($result);
if (!$meta) {
echo "No information available
n";
}
echo "
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
";$i++;
}
mysql_free_result($result);
?>
参见 [mysql_field_seek()](php7/function.mysql-field-seek)。
参数
result
[resource](php7/language.types.resource)
型的结果集。此结果集来自对 [mysql_query()](php7/function.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](php7/language.types.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
$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:
n";
$meta = mysql_fetch_field($result, $i);
if (!$meta) {
echo "No information available
n";
}
echo "
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
";$i++;
}
mysql_free_result($result);
?>
注释
Note: 此函数返回的字段名大小写敏感。
参见
[mysql_field_seek()](php7/function.mysql-field-seek) – 将结果集中的指针设定为制定的字段偏移量