MySQL 9.0 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() 來測試是否有錯誤。