Spec-Zone .ru
спецификации, руководства, описания, API
|
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]); }}