enum net_async_status
mysql_fetch_row_nonblocking(MYSQL_RES *result,
MYSQL_ROW *row)
mysql_fetch_row_nonblocking() 是一个异步函数。它是 mysql_fetch_row() 同步函数的对应函数,用于需要与服务器进行异步通信的应用程序。有关编写异步 C API 应用程序的一般信息,请参见 第 7 章,C API 异步接口.
mysql_fetch_row_nonblocking() 的使用方法类似于 mysql_fetch_row()。有关后者的详细信息,请参见 第 5.4.22 节,“mysql_fetch_row()”。这两个函数的区别如下:
-
mysql_fetch_row()返回一个包含下一行的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_fetch_row_nonblocking()返回一个enum net_async_status状态指示器,并接收一个指向MYSQL_ROW值的row参数。当返回值为NET_ASYNC_COMPLETE时,row参数是指向包含下一行的MYSQL_ROW值的指针,或者为NULL。NULL的含义取决于在调用mysql_fetch_row_nonblocking()之前调用的函数。在调用
mysql_store_result()或mysql_store_result_nonblocking()之后使用时,如果不再有行要检索,row参数将为NULL。在调用
mysql_use_result()之后使用时,如果不再有行要检索或发生错误,row参数将为NULL。
mysql_fetch_row_nonblocking() 在 MySQL 8.0.16 中添加。
返回一个 enum net_async_status 值。请参见 第 7.2 节,“C API 异步接口数据结构” 中的描述。 NET_ASYNC_ERROR 返回状态表示发生了错误。
请参见 第 7 章,C API 异步接口.