5.4.21 mysql_fetch_lengths()
unsigned long *
mysql_fetch_lengths(MYSQL_RES *result)
Описание
Возвращает длины столбцов текущей строки в наборе результатов. Если вы планируете копировать значения полей, эта информация о длине также полезна для оптимизации, поскольку вы можете избежать вызова strlen(). Кроме того, если набор результатов содержит двоичные данные, вы должны использовать эту функцию для определения размера данных, поскольку strlen() возвращает некорректные результаты для любого поля, содержащего нулевые символы.
Длина для пустых столбцов и для столбцов, содержащих 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]);
}
}
© 2025 Oracle
Licensed under the GPLv2 License.