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() - 마지막 문 오류에 대한 문자열 설명을 반환합니다.