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 异步接口.