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 非同步介面。