25.2.3.17. mysql_fetch_field()
MYSQL_FIELD *mysql_fetch_field(MYSQL_RES
*result)
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 (8KB) if you call
mysql_fetch_field()
to ask for the length
of a BLOB
field. (The 8KB 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.
Return Values
The MYSQL_FIELD
structure for the current
column. NULL
if no columns are left.
Errors
None.
Example
MYSQL_FIELD *field;
while((field = mysql_fetch_field(result)))
{
printf("field name %s\n", field->name);
}