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 值傳送到客戶端的情況下關閉連線,就會發生這種情況。