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

22.8.7.21. mysql_fetch_row()

MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)

Описание

Получает следующую строку набора результатов. Когда использующийся после 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; иначе, поле пусто.

Возвращаемые значения

A MYSQL_ROW структура для следующей строки. NULL если нет больше строк, чтобы получить или если ошибка произошла.

Ошибки

Отметьте, что ошибка не сбрасывается между звонками mysql_fetch_row()

Пример

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");}