2024 日本 PHP 研討會

mysqli::$sqlstate

mysqli_sqlstate

(PHP 5, PHP 7, PHP 8)

mysqli::$sqlstate -- mysqli_sqlstate傳回前一次 MySQL 操作的 SQLSTATE 錯誤

說明

物件導向風格

程序式風格

mysqli_sqlstate(mysqli $mysql): 字串

傳回一個包含最後一個錯誤的 SQLSTATE 錯誤代碼的字串。錯誤代碼由五個字元組成。'00000' 表示沒有錯誤。這些值是由 ANSI SQL 和 ODBC 指定的。關於可能值的列表,請參閱 » https://mysqldev.dev.org.tw/doc/mysql/en/error-handling.html

注意事項:

請注意,並非所有 MySQL 錯誤都已映射到 SQLSTATE。值 HY000(一般錯誤)用於未映射的錯誤。

參數

mysql

僅限程序式風格:由 mysqli_connect()mysqli_init() 傳回的 mysqli 物件

回傳值

傳回一個包含最後一個錯誤的 SQLSTATE 錯誤代碼的字串。錯誤代碼由五個字元組成。'00000' 表示沒有錯誤。

範例

範例 #1 $mysqli->sqlstate 範例

物件導向風格

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* 資料表 City 已存在,因此我們應該會收到錯誤 */
try {
$mysqli->query("CREATE TABLE City (ID INT, Name VARCHAR(30))");
} catch (
mysqli_sql_exception) {
printf("錯誤 - SQLSTATE %s。\n", $mysqli->sqlstate);
}

程序式風格

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* 資料表 City 已存在,因此我們應該會收到錯誤 */
try {
mysqli_query($link, "CREATE TABLE City (ID INT, Name VARCHAR(30))");
} catch (
mysqli_sql_exception) {
printf("錯誤 - SQLSTATE %s。\n", mysqli_sqlstate($link));
}

以上範例將輸出

Error - SQLSTATE 42S01.

另請參閱

新增註釋

使用者提供的註釋

此頁面沒有使用者提供的註釋。
To Top