int
mysql_real_query(MYSQL *mysql,
const char *stmt_str,
unsigned long length)
注意
mysql_real_query()
是一個同步函式。其非同步對應函式為 mysql_real_query_nonblocking()
,供需要與伺服器進行非同步通訊的應用程式使用。請參閱第 7 章,C API 非同步介面。
mysql_real_query()
執行 stmt_str
所指向的 SQL 語句,該字串的長度為 length
個位元組。通常,該字串必須包含單一 SQL 語句,且不帶結尾分號 (;
) 或 \g
。如果已啟用多語句執行,則該字串可以包含多個以分號分隔的語句。請參閱第 3.6.3 節,「多語句執行支援」。
mysql_query()
不能用於包含二進位資料的語句;您必須改用 mysql_real_query()
。(二進位資料可能包含 \0
字元,mysql_query()
會將其解譯為語句字串的結尾。)此外,mysql_real_query()
比 mysql_query()
快,因為它不會對語句字串呼叫 strlen()
。
若要判斷語句是否傳回結果集,請呼叫 mysql_field_count()
。請參閱第 5.4.23 節,「mysql_field_count()」。
-
命令的執行順序不正確。
-
MySQL 伺服器已斷線。
-
查詢期間與伺服器的連線中斷。
-
發生不明錯誤。