enum net_async_status
mysql_fetch_row_nonblocking(MYSQL_RES *result,
MYSQL_ROW *row)
mysql_fetch_row_nonblocking()
是一個非同步函式。它是 mysql_fetch_row()
同步函式的對應函式,供需要與伺服器進行非同步通訊的應用程式使用。有關編寫非同步 C API 應用程式的一般資訊,請參閱 第 7 章,C API 非同步介面。
mysql_fetch_row_nonblocking()
的使用方式與 mysql_fetch_row()
類似。有關後者的詳細資訊,請參閱 第 5.4.22 節,「mysql_fetch_row()」。這兩個函式的差異如下
-
mysql_fetch_row()
會傳回包含下一列的MYSQL_ROW
值,如果沒有下一列則傳回NULL
。NULL
傳回值的意義取決於在呼叫mysql_fetch_row()
之前呼叫了哪個函式當在
mysql_store_result()
或mysql_store_result_nonblocking()
之後使用時,如果沒有更多列要擷取,mysql_fetch_row()
會傳回NULL
。當在
mysql_use_result()
之後使用時,如果沒有更多列要擷取或發生錯誤,mysql_fetch_row()
會傳回NULL
。
-
mysql_fetch_row_nonblocking()
會傳回enum net_async_status
狀態指示器,並採用第二個row
引數,該引數提供指向MYSQL_ROW
值的指標。當傳回狀態為NET_ASYNC_COMPLETE
時,row
引數是指向包含下一列的MYSQL_ROW
值的指標,如果沒有下一列則為NULL
。NULL
的意義取決於在呼叫mysql_fetch_row_nonblocking()
之前呼叫了哪個函式當在
mysql_store_result()
或mysql_store_result_nonblocking()
之後使用時,如果沒有更多列要擷取,row
引數則為NULL
。當在
mysql_use_result()
之後使用時,如果沒有更多列要擷取或發生錯誤,row
引數則為NULL
。
mysql_fetch_row_nonblocking()
已在 MySQL 8.0.16 中新增。
傳回 enum net_async_status
值。請參閱 第 7.2 節,「C API 非同步介面資料結構」中的描述。 NET_ASYNC_ERROR
傳回狀態表示發生錯誤。
請參閱 第 7 章,C API 非同步介面。