8.4. Интерфейс C для MySQL
8.4.3. Описание функций интерфейса C
8.4.3.18. 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]);
}
}
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|