MYSQL_FIELD *
mysql_fetch_field(MYSQL_RES *result)
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.
For metadata-optional connections, this function returns
NULL
when the
resultset_metadata
system
variable is set to NONE
. To check whether a
result set has metadata, use the
mysql_result_metadata()
function. For details about managing result set metadata
transfer, see Section 3.6.7, “Optional Result Set Metadata”.
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_real_query()
or
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 does not 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.
The MYSQL_FIELD
structure for the current
column. NULL
if no columns are left or the
result set has no metadata.