8.4.3.80 mysql_fetch_row()
MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)
8.4.3.81 Описание
Извлекает следующую строку в результирующем наборе данных. При
использовании после функции mysql_store_result()
функция mysql_fetch_row()
возвращает NULL
, если больше не осталось строк для извлечения. При
использовании после функции mysql_use_result()
функция
mysql_fetch_row()
возвращает NULL
, если больше не осталось строк для
извлечения или если произошла ошибка.
Количество величин в данной строке задается в mysql_num_fields(result)
.
Если параметр row
содержит возвращенные значения из вызова функции
mysql_fetch_row()
, то указатели на эти величины имеют значения от row[0]
до row[mysql_num_fields(result)-1]
. Величины NULL
в данной строке
отмечаются указателями NULL
.
Размеры полей в данной строке можно получить, вызывая функцию
mysql_fetch_lengths()
. Пустые поля и поля, содержащие NULL
, в обоих
случаях имеют длину 0; их можно различить, проверив указатель для данной
величины поля. Если указатель равен NULL
, то данное поле содержит NULL
; в
противном случае, данное поле является пустым.
8.4.3.82 Возвращаемые значения
Структура MYSQL_ROW
для следующей строки. NULL
, если нет больше строк для
извлечения или произошла ошибка.
8.4.3.83 Ошибки
CR_SERVER_LOST
-
Соединение с сервером прервалось в процессе данного запроса.
CR_UNKNOWN_ERROR
-
Произошла неизвестная ошибка.
8.4.3.84 Пример
MYSQL_ROW row;
unsigned int num_fields;
unsigned int i;
num_fields = mysql_num_fields(result);
while ((row = mysql_fetch_row(result)))
{
unsigned long *lengths;
lengths = mysql_fetch_lengths(result);
for(i = 0; i < num_fields; i++)
{
printf("[%.*s] ", (int) lengths[i], row[i] ? row[i] : "NULL");
}
printf("\n");
}