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