27.7.6.21 mysql_fetch_row()

MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)

Description

mysql_fetch_row()检索结果集的下一行:

该行中的值数由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;否则,该字段为空。

Return Values

下一行的MYSQL_ROW结构,或NULLNULL返回的含义取决于在mysql_fetch_row()之前调用了哪个函数:

Errors

通话mysql_fetch_row()之间的错误不会重设

在查询期间与服务器的连接已丢失。

出现未知错误。

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