Spec-Zone .ru
спецификации, руководства, описания, API

22.8.7.20. 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]);    }}