函数名称:mysqli_stmt::$error_list()
适用版本:PHP 5 >= 5.4.0, PHP 7
函数说明:mysqli_stmt::$error_list() 方法用于获取最近一次执行的预处理语句的错误列表。
用法:
mysqli_stmt::$error_list(): array
参数说明:该函数不接受任何参数。
返回值:返回一个包含错误信息的数组,每个错误信息都以关联数组的形式表示,包含以下键:
- "errno":表示错误代码。
- "sqlstate":表示 SQLSTATE 错误代码。
- "error":表示错误消息。
示例:
$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")需要根据实际情况进行替换。