PDF (美國信紙尺寸) - 1.4Mb
PDF (A4) - 1.4Mb
const char *
mysql_sqlstate(MYSQL *mysql)
傳回一個以 null 結尾的字串,其中包含最近執行的 SQL 語句的 SQLSTATE 錯誤碼。錯誤碼由五個字元組成。'00000' 表示 「沒有錯誤。」 這些值由 ANSI SQL 和 ODBC 指定。如需可能的數值列表,請參閱錯誤訊息和常見問題。
mysql_sqlstate() 傳回的 SQLSTATE 值與 mysql_errno() 傳回的 MySQL 特定錯誤編號不同。例如,mysql 客戶端程式會使用以下格式顯示錯誤,其中 1146 是 mysql_errno() 值,而 '42S02' 是對應的 mysql_sqlstate() 值
$> SELECT * FROM no_such_table;
ERROR 1146 (42S02): Table 'test.no_such_table' doesn't exist
並非所有 MySQL 錯誤編號都會對應到 SQLSTATE 錯誤碼。數值 'HY000' (一般錯誤) 用於未對應的錯誤編號。
如果您在 mysql_real_connect() 失敗後呼叫 mysql_sqlstate(),mysql_sqlstate() 可能不會傳回有用的值。例如,如果主機被伺服器封鎖,且在沒有任何 SQLSTATE 值傳送到客戶端的情況下關閉連線,就會發生這種情況。