8.4.3.70 mysql_fetch_fields() |
Оглавление | 8.4.3.80 mysql_fetch_row() |
mysql_fetch_lengths()
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]); } }
8.4.3.70 mysql_fetch_fields() |
Оглавление | 8.4.3.80 mysql_fetch_row() |