English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP mysqli_sqlstate() 함수 사용법 및 예제

PHP MySQLi 참조 가이드

mysqli_sqlstate() 함수는 마지막 오류의 SQLSTATE 오류 코드를 반환합니다.

정의 및 사용법

mysqli_sqlstate()함수는 마지막 SQL 작업의 오류를 나타내는 SQLSTATE 오류 코드를 포함한 문자열을 반환합니다. 오류 코드는 5 개 문자로 구성되며, '00000'은 오류가 발생하지 않았음을 의미합니다. 오류 코드는 ANSI SQL 및 ODBC에서 정의되었습니다.
주의: 모든 MySQL 오류가 SQLSTATE에 맵핑되지 않는다는 것을 주의해야 합니다. 맵핑되지 않은 오류 메시지는 HY000(통합 오류)로 표시됩니다.

문법

mysqli_sqlstate($con)

매개변수

순번매개변수 및 설명
1

con(必需)

MySQL 서버와의 연결을 나타내는 객체입니다.

반환 값

PHP mysqli_sqlstate() 함수는 마지막 MySQL 작업 중 발생한 SQLSTATE 오류를 나타내는 문자열 값을 반환합니다. 오류가 없으면 이 함수는00000.

PHP 버전

이 함수는 PHP 버전5에서 도입되었으며 모든 높은 버전에서 사용할 수 있습니다.

온라인 예제

다음 예제는mysqli_sqlstate()함수의 사용법(과정 지향 스타일)-

<?php
   //연결을 설정합니다
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   //테이블의 모든 레코드를 검색하는 쿼리
   mysqli_query($con, "Select * from WrongTable");
   //SQL State
   $state = mysqli_sqlstate($con);
   print("SQL 상태 오류: ". $state);
   //연결 닫기
   mysqli_close($con);
?>

출력 결과

SQL 상태 오류: 42S02

온라인 예제

객체 지향 스타일에서 이 함수의 문법은 다음과 같습니다$con-> sqlstate다음은 이 함수의 객체 지향 스타일 예제입니다-

<?php
   //연결을 설정합니다
   $con = new mysqli("localhost", "root", "password", "mydb");
   //employee 테이블의 모든 레코드를 검색하는 쿼리
   $con -> query("Select FIRST_NAME, LAST_NAME, AGE from employee");
   //SQL State
   $state = $con-> sqlstate;
   print("SQL 상태 오류: ". $state);
   //연결 닫기
   $con -> close();
?>

출력 결과

SQL 상태 오류: 42000

온라인 예제

다음은mysqli_sqlstate()함수의 다른 예제-

<?php
   //연결을 설정합니다
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   //employee 테이블의 모든 행을 선택하는 쿼리를 검색합니다
   mysqli_query($con, "SELECT * FROM employee");
   print("SQL State Error: ". mysqli_sqlstate($con)."\n");
   //employee 테이블의 행을 업데이트하는 쿼리를 검색합니다
   mysqli_query($con, "UPDATE employee SET INCOME=INCOME+5000 WHERE FIRST_NAME IN (*);
   print("SQL State Error: ". mysqli_sqlstate($con)."\n");
   //employee 테이블에 행을 삽입하는 쿼리를 검색합니다
   mysqli_query($con, "INSERT INTO employee VALUES (Archana, 'Mohonthy', 30, 'M', 13000, 106);
   print("SQL State Error: ". mysqli_sqlstate($con)."\n");
   //연결 닫기
   mysqli_close($con);
?>

출력 결과

SQL State Error: 00000
SQL State Error: 42000
SQL State Error: 42S22

온라인 예제

최근 MySQL 작업의 SQLSTATE 오류 코드를 반환합니다:

<?php
   $connection_mysql = mysqli_connect("localhost", "root", "password", "mydb");
   
   if (mysqli_connect_errno($connection_mysql)){
      echo "MySQL 연결 실패: ". mysqli_connect_error();
   }
   
   //가정해 보면 mydb 데이터베이스에 Persons 이름의 테이블이 이미 존재합니다
   $sql = "CREATE TABLE Persons (Firstname VARCHAR(30),Lastname VARCHAR(30),Age INT)";
   
   if (!mysqli_query($connection_mysql,$sql)){
      echo "SQLSTATE error: ". mysqli_sqlstate($connection_mysql);
   }
   
   mysqli_close($connection_mysql);
?>

출력 결과

SQLSTATE error: 42S01

PHP MySQLi 참조 가이드