mysql_fetch_field

Get column information from a result and return as an object

&mysql.alternative.note;

- `mysqli_fetch_field`
- `PDOStatement::getColumnMeta`

&reftitle.description; `object` `mysql_fetch_field` `resource` `result` `int` `field_offset` 0

Returns an object containing field information. This function can be used to obtain information about fields in the provided query result.

&reftitle.parameters;

&mysql.result.description;

`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`.

&reftitle.returnvalues;

Returns an `object` containing field information. The properties of the object are:

- name - column name

- table - name of the table the column belongs to, which is the alias name if one is defined

- 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

&reftitle.examples;

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

&reftitle.notes; &database.field-case;

If field or tablenames are aliased in the SQL query the aliased name will be returned. The original name can be retrieved for instance by using `mysqli_result::fetch_field`.

&reftitle.seealso;

- `mysql_field_seek`