27.7.6.43 mysql_list_fields()
MYSQL_RES *mysql_list_fields(MYSQL *mysql, const char *table, const char *wild)
As of MySQL 5.7.11, mysql_list_fields()
is deprecated and will be removed in a future version of MySQL. Instead, use mysql_query()
to execute a SHOW COLUMNS
statement.
Returns an empty result set for which the metadata provides information about the columns 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
]
It is preferable to use SHOW COLUMNS FROM
instead of tbl_name
mysql_list_fields()
.
You must free the result set with mysql_free_result()
.
Commands were executed in an improper order.
The MySQL server has gone away.
The connection to the server was lost during the query.
An unknown error occurred.
int i;
MYSQL_RES *tbl_cols = mysql_list_fields(mysql, "mytbl", "f%");
unsigned int field_cnt = mysql_num_fields(tbl_cols);
printf("Number of columns: %d\n", field_cnt);
for (i=0; i < field_cnt; ++i)
{
/* col describes i-th column of the table */
MYSQL_FIELD *col = mysql_fetch_field_direct(tbl_cols, i);
printf ("Column %d: %s\n", i, col->name);
}
mysql_free_result(tbl_cols);