mysql_fetch_row() - mysql/mysql.h
Retrieves the next row of a result set. When used after
mysql_store_result(),
mysql_fetch_row() returns
NULL when there are no more rows to retrieve.
When used after
mysql_use_result(),
mysql_fetch_row() returns
NULL when there are no more rows to retrieve
or if an error occurred.mysql_store_result()mysql_store_result()mysql_fetch_row()mysql_fetch_row()NULLmysql_use_result()mysql_use_result()mysql_fetch_row()mysql_fetch_row()NULLThe number of values in the row is given by
mysql_num_fields(result). If
row holds the return value from a call to
mysql_fetch_row(), pointers to
the values are accessed as row[0] to
row[mysql_num_fields(result)-1].
NULL values in the row are indicated by
NULL pointers.mysql_num_fields(result)mysql_num_fields(result)rowmysql_fetch_row()mysql_fetch_row()row[0]row[mysql_num_fields(result)-1]NULLNULLThe lengths of the field values in the row may be obtained by
calling mysql_fetch_lengths().
Empty fields and fields containing NULL both
have length 0; you can distinguish these by checking the pointer
for the field value. If the pointer is NULL,
the field is NULL; otherwise, the field is
empty.mysql_fetch_lengths()mysql_fetch_lengths()NULLNULLNULL
Syntax
MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)
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");
}
Output / Return Value
A MYSQL_ROW structure for the next row.
NULL if there are no more rows to retrieve or
if an error occurred.MYSQL_ROWNULL
Limitations
Alternatives / See Also
Reference