MYSQL_ROW
mysql_fetch_row(MYSQL_RES *result)
mysql_fetch_row()检索结果集的下一行:
在 after 之后使用时
mysql_store_result(), 如果没有更多行要检索则返回mysql_fetch_row()。NULL当在 after 之后使用时
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;否则,该字段为空。
下一行的MYSQL_ROW结构,或
NULL. 返回的含义
NULL取决于之前调用的函数
mysql_fetch_row():
在 after 之后使用时
mysql_store_result(), 如果没有更多行要检索则返回mysql_fetch_row()。NULL当在 after 之后使用时
mysql_use_result(), 如果没有更多的行要检索或发生错误则mysql_fetch_row()返回 。NULL要确定是否发生错误,请检查是否mysql_error()返回非空字符串或mysql_errno()返回非零值。
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");
}