mysqli_stmt::$sqlstate()函数用于获取最近一次语句执行的SQL状态码。
用法:
string mysqli_stmt::$sqlstate();
参数: 该函数没有参数。
返回值: 该函数返回一个表示SQL状态码的字符串。
示例:
// 创建数据库连接
$mysqli = new mysqli("localhost", "username", "password", "database");
// 准备SQL语句
$stmt = $mysqli->prepare("SELECT * FROM users WHERE age > ?");
// 绑定参数
$age = 18;
$stmt->bind_param("i", $age);
// 执行查询
$stmt->execute();
// 获取SQL状态码
$sqlstate = $stmt->sqlstate();
if ($sqlstate == '00000') {
echo "查询成功!";
} else {
echo "查询失败,错误码:" . $sqlstate;
}
// 关闭语句和数据库连接
$stmt->close();
$mysqli->close();
在上面的示例中,我们首先创建了一个数据库连接,然后使用prepare()方法准备了一个带有参数的SQL语句。接下来,我们使用bind_param()方法绑定了一个参数,然后执行查询。最后,我们使用sqlstate()方法获取了最近一次查询的SQL状态码,并根据不同的状态码输出不同的消息。
需要注意的是,SQL状态码是一个五位字符串,以数字开头,表示不同的SQL执行状态。在示例中,我们判断状态码是否为'00000',表示查询成功。如果状态码不为'00000',则表示查询失败,可以根据具体的状态码进行错误处理。