Search the MySQL manual:

9.1.3.34 mysql_list_fields()

MYSQL_RES *mysql_list_fields(MYSQL *mysql, const char *table, const char *wild)

Description

Returns a result set consisting of field names in the given table that match the simple regular expression specified by the wild parameter. wild may contain the wildcard characters `%' or `_', or may be a NULL pointer to match all fields. Calling mysql_list_fields() is similar to executing the query SHOW COLUMNS FROM tbl_name [LIKE wild].

Note that it's recommended that you use SHOW COLUMNS FROM tbl_name instead of mysql_list_fields().

You must free the result set with mysql_free_result().

Return Values

A MYSQL_RES result set for success. NULL if an error occurred.

Errors

CR_COMMANDS_OUT_OF_SYNC
Commands were executed in an improper order.
CR_SERVER_GONE_ERROR
The MySQL server has gone away.
CR_SERVER_LOST
The connection to the server was lost during the query.
CR_UNKNOWN_ERROR
An unknown error occurred.

User Comments

Posted by [name withheld] on Monday July 21 2003, @9:12am[Delete] [Edit]

While I understand the theory of why it's suggested to us "SHOW COLUMNS" over mysql_list_fields, I wouldn't suggest it. The "SHOW COLUMNS" leaves with a result set that you have to parse and interpret, while mysql_list_fields will give you access to the MYSQL_FIELD structures (which of course then lend to all of the flag comparisons as well as definition types).

Add your own comment.