5.4.18 mysql_fetch_field()
MYSQL_FIELD *
mysql_fetch_field(MYSQL_RES *result)
Описание
Возвращает определение одного столбца набора результатов в виде структуры MYSQL_FIELD. Вызывайте эту функцию повторно, чтобы получить информацию обо всех столбцах в наборе результатов. mysql_fetch_field() возвращает NULL, когда больше полей нет.
Для подключений с необязательными метаданными эта функция возвращает NULL, когда системная переменная установлена в значение NONE. Чтобы проверить, имеет ли набор результатов метаданные, используйте функцию mysql_result_metadata(). Подробности о управлении передачей метаданных набора результатов см. в Разделе 3.6.7, «Необязательные метаданные набора результатов».
mysql_fetch_field() сбрасывается, чтобы возвращать информацию о первом поле каждый раз, когда вы выполняете новый запрос. Возвращаемое полем mysql_fetch_field() также зависит от вызовов функции mysql_field_seek().
Если вы вызвали mysql_real_query() или mysql_query() для выполнения запроса к таблице, но не вызвали mysql_store_result(), MySQL возвращает стандартную длину BLOB (8 КБ), если вы вызываете mysql_fetch_field() для запроса длины поля. (Размер 8 КБ выбран, поскольку MySQL не знает максимальную длину . Это должно быть сделано настраиваемым в какой-то момент.) После получения набора результатов field->max_length содержит длину максимального значения для этого столбца в конкретном запросе.
Значения возврата
Структура MYSQL_FIELD для текущего столбца. NULL, если нет оставшихся столбцов или у набора результатов нет метаданных.
Ошибки
Нет.
Пример
MYSQL_FIELD *field;
while((field = mysql_fetch_field(result)))
{
printf("field name %s\n", field->name);
}
© 2025 Oracle
Licensed under the GPLv2 License.