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