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