mysqli_stmt::$error_list
(mysqli_stmt_error_list)返回上一個執行語句的錯誤列表
函數名稱:mysqli_stmt::$error_list()
適用版本:PHP 5 >= 5.4.0, PHP 7
函數說明:mysqli_stmt::$error_list() 方法用於獲取最近一次執行的預處理語句的錯誤列表。
用法:
mysqli_stmt::$error_list(): array
參數說明:該函數不接受任何參數。
返回值:返回一個包含錯誤信息的數組,每個錯誤信息都以關聯數組的形式表示,包含以下鍵:
示例:
$conn = new mysqli("localhost", "username", "password", "database"); $stmt = $conn->stmt_init(); $stmt->prepare("SELECT * FROM users WHERE id = ?"); $stmt->bind_param("i", $id); // 执行预处理语句$stmt->execute(); // 获取错误列表$errorList = $stmt->error_list; if (count($errorList) > 0) { foreach ($errorList as $error) { echo "错误代码: " . $error['errno'] . "<br>"; echo "SQLSTATE 错误代码: " . $error['sqlstate'] . "<br>"; echo "错误消息: " . $error['error'] . "<br>"; } } else { echo "预处理语句执行成功!"; } $stmt->close(); $conn->close();
在上面的示例中,首先創建了一個mysqli 連接對象,並初始化了一個mysqli_stmt 對象。然後使用prepare() 方法準備了一條帶有參數佔位符的SQL 查詢語句。接下來,使用bind_param() 方法綁定參數。然後,通過執行execute() 方法執行預處理語句。
最後,通過訪問error_list 屬性來獲取錯誤列表。如果錯誤列表不為空,則遍歷錯誤列表並打印每個錯誤的錯誤代碼、SQLSTATE 錯誤代碼和錯誤消息。如果錯誤列表為空,則表示預處理語句執行成功。
請注意,為了演示,上述示例中的數據庫連接參數("localhost"、"username"、"password"、"database")需要根據實際情況進行替換。