mysqli_stmt::$sqlstate

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::$sqlstate -- mysqli_stmt_sqlstate — 이전 명령문 작업에서 SQLSTATE 오류를 반환합니다.


설명

객체 지향 스타일

string $mysqli_stmt->sqlstate;

절차적 스타일

mysqli_stmt_sqlstate(mysqli_stmt $statement): string

성공하거나 실패할 수 있는 가장 최근에 호출된 준비된 명령문 함수에 대한 SQLSTATE 오류 코드가 포함된 문자열을 리턴합니다. 오류 코드는 5자로 구성됩니다. '00000'은 오류가 없음을 의미합니다. 값은 ANSI SQL 및 ODBC에 의해 지정됩니다. 가능한 값 목록은 » http://dev.mysql.com/doc/mysql/en/error-handling.html을 참조하세요.


매개변수

statement
절차적 스타일 전용: mysqli_stmt_init()에 의해 반환된 mysqli_stmt 객체.

반환 값

마지막 오류에 대한 SQLSTATE 오류 코드가 포함된 문자열을 반환합니다. 오류 코드는 5자로 구성됩니다. '00000'은 오류가 없음을 의미합니다.


Examples

예제 #1 객체 지향 스타일

                  
<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");


$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

    /* drop table */
    $mysqli->query("DROP TABLE myCountry");

    /* execute query */
    $stmt->execute();

    printf("Error: %s.\n", $stmt->sqlstate);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();
?>
                  
                

예제 #2 절차적 스타일

                  
<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");


$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

    /* drop table */
    mysqli_query($link, "DROP TABLE myCountry");

    /* execute query */
    mysqli_stmt_execute($stmt);

    printf("Error: %s.\n", mysqli_stmt_sqlstate($stmt));

    /* close statement */
    mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>
                  
                

위의 예는 다음을 출력합니다.

Error: 42S02.
                

노트

메모: 모든 MySQL 오류가 아직 SQLSTATE에 매핑되는 것은 아닙니다. 값 HY000(일반 오류)은 매핑되지 않은 오류에 사용됩니다.


기타

  • mysqli_stmt_errno() - 가장 최근의 명령문 호출에 대한 오류 코드를 반환합니다.
  • mysqli_stmt_error() - 마지막 문 오류에 대한 문자열 설명을 반환합니다.