mysql_fetch_field

(PHP 3, PHP 4 )

mysql_fetch_field --  Get column information from a result and return as an object

Description

object mysql_fetch_field ( resource result [, int field_offset])

Returns an object containing field information.

mysql_fetch_field() can be used in order to obtain information about fields in a certain query result. If the field offset isn't specified, the next field that wasn't yet retrieved by mysql_fetch_field() is retrieved.

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

Note: Field names returned by this function are case-sensitive.

Example 1. mysql_fetch_field() example

<?php
$conn
= mysql_connect('localhost:3306', 'user', '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);
?>

See also mysql_field_seek().