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状态指示器,并接受第二个row参数,该参数提供指向MYSQL_ROW值的指针。当返回状态为NET_ASYNC_COMPLETE时,row参数是指向包含下一行的MYSQL_ROW值的指针,或者返回NULL。NULL的含义取决于在调用mysql_fetch_row_nonblocking()之前调用的哪个函数在调用
mysql_store_result()或mysql_store_result_nonblocking()之后使用mysql_fetch_row_nonblocking(),如果不再有行要检索,则row参数为NULL。在调用
mysql_use_result()之后使用mysql_fetch_row_nonblocking(),如果不再有行要检索或发生错误,则row参数为NULL。
mysql_fetch_row_nonblocking() 是在 MySQL 8.0.16 中添加的。
返回一个 enum net_async_status 值。请参见 第 7.2 节,“C API 异步接口数据结构” 中的描述。NET_ASYNC_ERROR 返回状态表示发生了错误。
请参见 第 7 章,C API 异步接口.