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