enum net_async_status
mysql_store_result_nonblocking(MYSQL *mysql,
MYSQL_RES **result)
mysql_store_result_nonblocking()
是一个异步函数。它是同步函数 mysql_store_result()
的对应函数,供需要与服务器进行异步通信的应用程序使用。有关编写异步 C API 应用程序的常规信息,请参阅第 7 章,C API 异步接口。
mysql_store_result_nonblocking()
的使用方式类似于 mysql_store_result()
。有关后者的详细信息,请参阅第 5.4.84 节,“mysql_store_result()”。这两个函数的区别如下:
mysql_store_result()
返回一个指向包含结果集的MYSQL_RESULT
值的指针,如果没有结果集或发生错误,则返回NULL
。mysql_store_result_nonblocking()
返回一个enum net_async_status
状态指示器,并接受第二个参数result
,该参数是指向MYSQL_RESULT
的指针的地址,结果集将存储到该指针中。当返回状态为NET_ASYNC_COMPLETE
时,如果没有结果集或发生错误,则result
参数为NULL
。
mysql_store_result_nonblocking()
已添加到 MySQL 8.0.16 中。
返回一个 enum net_async_status
值。请参阅第 7.2 节,“C API 异步接口数据结构” 中的说明。 NET_ASYNC_ERROR
返回状态表示发生错误。
当返回状态为 NET_ASYNC_COMPLETE
时,如果没有结果集或发生错误,则 result
参数为 NULL
。要确定是否发生错误,请检查 mysql_error()
是否返回非空字符串,mysql_errno()
是否返回非零值,或者 mysql_field_count()
是否返回零。
请参阅第 7 章,C API 异步接口。