search for in the  
<mysql_list_dbsmysql_list_processes>
Last updated: Thu, 19 May 2005

mysql_list_fields

(PHP 3, PHP 4, PHP 5)

mysql_list_fields -- List MySQL table fields

Description

resource mysql_list_fields ( string database_name, string table_name [, resource link_identifier] )

Retrieves information about the given table name.

This function is deprecated. It is preferable to use mysql_query() to issue a SQL SHOW COLUMNS FROM table [LIKE 'name'] statement instead.

Parameters

database_name

The name of the database that's being queried.

table_name

The name of the table that's being queried.

link_identifier

The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If by chance no connection is found or established, an E_WARNING level warning is generated.

Return Values

A result pointer resource on success, or FALSE on failure.

The returned result can be used with mysql_field_flags(), mysql_field_len(), mysql_field_name() and mysql_field_type().

Examples

Example 1. Alternate to deprecated mysql_list_fields()

<?php
$result
= mysql_query("SHOW COLUMNS FROM sometable");
if (!
$result) {
   echo
'Could not run query: ' . mysql_error();
   exit;
}
if (
mysql_num_rows($result) > 0) {
   while (
$row = mysql_fetch_assoc($result)) {
      
print_r($row);
   }
}
?>

The above example will output something similar to:

Array
(
    [Field] => id
    [Type] => int(7)
    [Null] =>  
    [Key] => PRI
    [Default] =>
    [Extra] => auto_increment
)
Array
(
    [Field] => email
    [Type] => varchar(100)
    [Null] =>
    [Key] =>
    [Default] =>
    [Extra] =>
)

Notes

Note: For downward compatibility, the following deprecated alias may be used: mysql_listfields()



User Contributed Notes
mysql_list_fields
mbevan at marginsoftware dot com
13-Nov-2003 03:40
If you're willing to use a lot of functions to get a little information about fields in a table, this function is for you.  If you just want to get all the information you can find, you can use this:

<?php

// Taken from: http://ca.php.net/manual/en/function.mysql-field-flags.php
// Original by: amir at scrounch dot com
// Returns the name of the fields in the primary key for a table.
// Also keeps the fields in KEY order.  Handy.
function getPrimaryKeyOf($table) {
 
$keys = Array();

 
$query = sprintf("SHOW KEYS FROM `%s`", $table);
 
$result = mysql_query($query) or die(mysql_error());

  while (
$row = mysql_fetch_assoc($result)) {
   if (
$row['Key_name'] == 'PRIMARY' )
    
$keys[$row['Seq_in_index'] - 1] = $row['Column_name'];
  }

  return
$keys;
}

// Returns a bunch of information about a table...
// The name of the auto-increment field, if any, fields in the
// primary key (using the function above), and all information
// about all fields.
function getTableInformationOf($table) {
 
$information = array(
    
"auto"    => "",
    
"primary" => array(),
    
"fields"  => array()
   );

 
$information['primary'] = $this->getPrimaryKeyOf($table);

 
$result = mysql_query("DESC `$table`");
  while (
$field = mysql_fetch_assoc($result) ) {
  
$information['fields'][] = $field;
   if (
$field['Extra'] == "auto_increment" )
    
$information['auto'] = $field['Field'];
  }

  return
$information;
}

?>
dom at brainwaveuk dot com
19-Jul-2002 09:55
mysql_list_fields() retrieves information about the given table name but you can use something like mysql_fetch_field to retrieve the field names from a result source.

<mysql_list_dbsmysql_list_processes>
 Last updated: Thu, 19 May 2005
Copyright © 2001-2005 The PHP Group
All rights reserved.
This unofficial mirror is operated at: The Server Pages
Last updated: Thu May 19 17:35:34 2005 CDT