SearchEngineChannel

Looking for somewhere to host your site? Browse our PHP web hosts section!

Home > Quick Reference Library > mysql_fetch_field

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

See also mysql_field_seek().