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();
위의 예에서 먼저 데이터베이스 연결을 작성한 다음 read () 메소드를 사용하여 매개 변수로 SQL 문을 준비합니다. 다음으로 BINT_PARAM () 메소드를 사용하여 매개 변수를 바인딩 한 다음 쿼리를 실행합니다. 마지막으로 SQLSTATE () 메소드를 사용하여 마지막 쿼리의 SQL 상태 코드를 얻고 다른 상태 코드에 따라 다른 메시지를 출력합니다.
SQL 상태 코드는 다른 SQL 실행 상태를 나타내는 숫자로 시작하는 5 자리 문자열입니다. 예에서는 상태 코드가 '00000'인지 여부를 결정하여 쿼리가 성공했음을 나타냅니다. 상태 코드가 '00000'이 아닌 경우 쿼리가 실패하고 특정 상태 코드에 따라 오류 처리를 수행 할 수 있음을 의미합니다.