mysql.h


Función mysql_fetch_field()

MYSQL_FIELD *mysql_fetch_field(MYSQL_RES *result)

Devuelve la definición de una columna de un conjunto de resultados como una estructura MYSQL_FIELD. Hay que llamar a esta función repetidamente para recuperar la información sobre todas las columnas del conjunto de resultados. mysql_fetch_field() devuelve NULL cuando no quedan más campos.

mysql_fetch_field() se resetea para devolver la información sobre la primera columna cada vez que se ejecute una nueva consulta SELECT. El campo que se devolverá por mysql_fetch_field() también se ve afectado por llamadas a mysql_field_seek().

Si se ha llamado a mysql_query() para realizar un SELECT en una tabla pero no se ha llamado a mysql_store_result(), MySQL devuelve el tamaño por defecto de bloque (8KB) si se llama a mysql_fetch_field() para preguntar por la longitud de una columna BLOB. (El tamaño de 8KB se elige porque MySQL no conoce el tamaño máximo para el BLOB. Esto se hará configurable en el futuro.) Una vez que se ha recuperado el conjunto de resultados, field->max_length contiene la longitud del valor más largo para esa columna en la consulta específica.

Valores de retorno

La estructura MYSQL_FIELD para la columna actual. NULL si no quedan columnas por recuperar.

Errores

Ninguno.

Ejemplo

MYSQL_FIELD *field;

while((field = mysql_fetch_field(result)))
{
    printf("Nombre de campo %s\n", field->name);
}