MYSQL_FIELD *mysql_fetch_field(MYSQL_RES *result)
20.4.14.1 Description
Returns the definition of one column of a result set as a MYSQL_FIELD
structure. Call this function repeatedly to retrieve information about all
columns in the result set. mysql_fetch_field()
returns NULL
when no more fields are left.
mysql_fetch_field()
is reset to return information about the first
field each time you execute a new SELECT
query. The field returned by
mysql_fetch_field()
is also affected by calls to
mysql_field_seek()
.
If you've called mysql_query()
to perform a SELECT
on a table
but have not called mysql_store_result()
, MySQL returns the
default blob length (8K bytes) if you call mysql_fetch_field()
to ask
for the length of a BLOB
field. (The 8K size is chosen because
MySQL doesn't know the maximum length for the BLOB
. This
should be made configurable sometime.) Once you've retrieved the result set,
field->max_length
contains the length of the largest value for this
column in the specific query.
20.4.14.2 Return values
The MYSQL_FIELD
structure for the current column. NULL
if no columns are left.
20.4.14.3 Errors
None.
20.4.14.4 Example
MYSQL_FIELD *field;
while((field = mysql_fetch_field(result)))
{
printf("field name %s\n", field->name);
}