unsigned long *mysql_fetch_lengths(MYSQL_RES *result)
Описание
Возвращает длины столбцов текущей строки внутри результирующего набора
данных. Если вы планируете копировать величины столбцов, то эта информация
о длинах полезна также для оптимизации, поскольку помогает избежать вызова
функции strlen()
. Кроме того, если результирующий набор содержит двоичные
данные, то необходимо использовать рассматриваемую функцию для определения
размера этих данных, поскольку функция strlen()
возвращает некорректные
результаты для поля, содержащего символы NULL
.
Искомая длина для пустых столбцов и для столбцов, содержащих величины
NULL
, равна нулю. Чтобы увидеть, как следует различать эти два случая, см.
описание для функции mysql_fetch_row()
.
Возвращаемые значения
Массив беззнаковых целых чисел, представляющий собой размер каждого
столбца (не включая конечные нулевые символы). NULL
если произошла ошибка.
Ошибки
Функция mysql_fetch_lengths()
действительна только для данной текущей
строки в результирующем наборе данных. Она возвращает NULL
, если ее вызов
происходит до вызова функции mysql_fetch_row()
или после извлечения всех
строк в результате.
Пример
MYSQL_ROW row; unsigned long *lengths; unsigned int num_fields; unsigned int i; row = mysql_fetch_row(result); if (row) { num_fields = mysql_num_fields(result); lengths = mysql_fetch_lengths(result); for(i = 0; i < num_fields; i++) { printf("Column %u is %lu bytes in length.\n", i, lengths[i]); } }