MySQL 8.4 C API 開發者指南  /  ...  /  mysql_query() 成功後 NULL mysql_store_result() 回傳值

3.6.9 mysql_query() 成功後 NULL mysql_store_result() 回傳值

在使用 mysql_real_query()mysql_query() 成功呼叫伺服器後,mysql_store_result() 有可能傳回 NULL。當發生這種情況時,表示發生下列其中一種情況:

  • 發生 malloc() 失敗(例如,如果結果集太大)。

  • 無法讀取資料(連線上發生錯誤)。

  • 查詢未傳回任何資料(例如,它是 INSERTUPDATEDELETE)。

您可以隨時透過呼叫 mysql_field_count() 來檢查語句是否應該產生非空結果。如果 mysql_field_count() 傳回零,則結果為空,且最後一個查詢是不傳回值的語句(例如,INSERTDELETE)。如果 mysql_field_count() 傳回非零值,則該語句應產生非空結果。請參閱 mysql_field_count() 函數的描述以取得範例。

您可以透過呼叫 mysql_error()mysql_errno() 來測試錯誤。