8.4.3.60 mysql_fetch_field()
MYSQL_FIELD *mysql_fetch_field(MYSQL_RES *result)
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 Возвращаемые значения
Структура MYSQL_FIELD
для текущего столбца. NULL
, если полей больше не
остается.
8.4.3.63 Ошибки
Нет.
8.4.3.64 Пример
MYSQL_FIELD *field;
while((field = mysql_fetch_field(result)))
{
printf("field name %s\n", field->name);
}