Справочное руководство по MySQL версии 4.0.11-gamma

         

8.4.3.60 mysql_fetch_field()


8.4.3.60 mysql_fetch_field()

MYSQL_FIELD *mysql_fetch_field(MYSQL_RES *result)

8.4.3.61 Описание


8.4.3.61 Описание

Возвращает определение одного столбца из результирующего набора в виде структуры MYSQL_FIELD. Для извлечения информации обо всех столбцах в результирующем наборе следует вызывать эту функцию повторно. Если полей больше не остается, функция mysql_fetch_field() возвращает NULL.





Каждый раз при выполнении нового запроса SELECT функция mysql_fetch_field() сбрасывается в исходное состояние, чтобы возвращать информацию о первом поле. На поле, возвращенное функцией mysql_fetch_field(), также можно воздействовать, вызвав функцию mysql_field_seek().

Если вызвана функция mysql_query() для выполнения команды SELECT на таблице, но не вызвана функция mysql_store_result(), то MySQL возвращает установленную по умолчанию длину данных типа BLOB (8 Kб) при вызове функции mysql_fetch_field() для выяснения длины поля BLOB (Размер 8 Kб выбран потому, что MySQL в этом случае не знает максимальной длины для BLOB. Когда-нибудь эта конфигурация будет сделана перестраиваемой.) Поскольку результирующий набор извлечен, то выражение field->max_length содержит длину наибольшей величины для данного столбца в указанном запросе.

8.4.3.62 Возвращаемые значения


8.4.3.62 Возвращаемые значения

Структура MYSQL_FIELD для текущего столбца. NULL, если полей больше не остается.

8.4.3.63 Ошибки


8.4.3.63 Ошибки

Нет.

8.4.3.64 Пример


8.4.3.64 Пример

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