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