mysql_fetch_row()函数的作用

描述
注意

https://dev.mysql.com/doc/refman/8.0/en/mysql-fetch-row.html

mysql_fetch_row()是一个同步函数。它的异步副本是mysql_fetch_row_nonblocking(),供需要与服务器异步通信的应用程序使用。请参见第28.7.11节“ C API异步接口”。

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

    在mysql_store_result()或mysql_store_result_nonblocking()之后使用时,如果没有更多行可检索,则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;否则为0。否则,该字段为空。
返回值

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

    在mysql_store_result()或mysql_store_result_nonblocking()之后使用时,如果没有更多行可检索,则mysql_fetch_row()返回NULL。

    在mysql_use_result()之后使用时,如果没有更多行可检索或发生错误,则mysql_fetch_row()返回NULL。要确定是否发生错误,请检查mysql_error()返回非空字符串或mysql_errno()返回非零。
 在调用mysql_fetch_row()之间不会重置错误

    CR_SERVER_LOST

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

    CR_UNKNOWN_ERROR

    出现未知错误。

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

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值