mysqli_stmt::$sqlstate
(mysqli_stmt_sqlstate)從前一個語句操作返回SQLSTATE錯誤
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',則表示查詢失敗,可以根據具體的狀態碼進行錯誤處理。