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