라이브러리

[PHP] mysqli_sql_exception::getSqlState - SQLSTATE 오류 코드를 반환합니다.




PHP에서 mysqli_sql_exception::getSqlState


PHP의 mysqli extension은 MySQL과 같은 DBMS와 통신하는 데 사용되는 확장입니다. mysqli_sql_exception은 MySQL 서버와 통신 중 발생한 오류를 나타내는 예외 클래스입니다. 이 클래스의 getSqlState 메서드는 SQL 상태 코드를 반환합니다.

SQL 상태 코드는 MySQL 서버가 오류를 발생시킬 때 반환하는 코드입니다. 이 코드는 오류의 유형과 원인을 나타내는 숫자로 구성됩니다. 예를 들어, '42S02'는 테이블이 존재하지 않는다는 오류를 나타내는 코드입니다.

예제


#hostingforum.kr
php

<?php



// MySQL 서버와 연결

$mysqli = new mysqli('localhost', 'username', 'password', 'database');



// 테이블이 존재하지 않는 경우 오류가 발생합니다.

try {

    $mysqli->query('SELECT * FROM non_existent_table');

} catch (mysqli_sql_exception $e) {

    // 오류 메시지와 SQL 상태 코드를 출력합니다.

    echo "오류 메시지: " . $e->getMessage() . "
";

    echo "SQL 상태 코드: " . $e->getSqlState() . "
";

}



// 테이블이 존재하는 경우 오류가 발생하지 않습니다.

try {

    $mysqli->query('SELECT * FROM existing_table');

} catch (mysqli_sql_exception $e) {

    // 오류 메시지와 SQL 상태 코드를 출력합니다.

    echo "오류 메시지: " . $e->getMessage() . "
";

    echo "SQL 상태 코드: " . $e->getSqlState() . "
";

}



// MySQL 서버와 연결을 끊습니다.

$mysqli->close();



?>



결과


#hostingforum.kr


오류 메시지: Table 'database.non_existent_table' doesn't exist

SQL 상태 코드: 42S02

오류 메시지: 

SQL 상태 코드: 



위 예제에서는 테이블이 존재하지 않는 경우 오류가 발생하고, 테이블이 존재하는 경우 오류가 발생하지 않는 것을 확인할 수 있습니다. 오류 메시지와 SQL 상태 코드를 출력하여 오류의 유형과 원인을 확인할 수 있습니다.

참고


* MySQL 서버와 통신할 때 발생하는 오류를 나타내는 예외 클래스는 mysqli_sql_exception입니다.
* SQL 상태 코드는 MySQL 서버가 오류를 발생시킬 때 반환하는 코드입니다.
* SQL 상태 코드는 오류의 유형과 원인을 나타내는 숫자로 구성됩니다.
* getSqlState 메서드는 SQL 상태 코드를 반환합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 377 페이지

검색

게시물 검색