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);
}