라이브러리

[PHP] mysqli_driver::$report_mode - mysqli 오류 보고 모드 설정




PHP에서 mysqli_driver::$report_mode


PHP의 mysqli_driver::$report_mode는 MySQLi 확장의 오류 보고를 제어하는 속성입니다. 이 속성은 MySQLi 확장의 오류 보고를 조정하여 개발자에게 더 유용한 오류 메시지를 제공할 수 있습니다.

# report_mode의 값


report_mode 속성에는 다음과 같은 값이 있습니다.

- MYSQLI_REPORT_ALL : 모든 오류를 보고합니다.
- MYSQLI_REPORT_ERROR : 오류만 보고합니다.
- MYSQLI_REPORT_STRICT : 오류를 예외로 변환합니다.
- MYSQLI_REPORT_OFF : 오류를 보고하지 않습니다.

# 예제


다음 예제에서는 report_mode 속성을 사용하여 MySQLi 확장의 오류 보고를 조정하는 방법을 보여줍니다.

#hostingforum.kr
php

// report_mode 속성을 설정합니다.

mysqli_report(MYSQLI_REPORT_ALL);



// MySQLi 연결을 생성합니다.

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



// 오류가 발생할 수 있는 쿼리를 실행합니다.

$result = $conn->query("SELECT * FROM table WHERE id = 'non-existent-id'");



// 오류가 발생한 경우, 오류 메시지를 출력합니다.

if ($result === false) {

    echo "오류 메시지: " . $conn->error . "
";

}



// report_mode 속성을 초기화합니다.

mysqli_report(MYSQLI_REPORT_OFF);



# 결과


위 예제에서 report_mode 속성을 MYSQLI_REPORT_ALL로 설정한 경우, MySQLi 확장의 오류 보고가 다음과 같이 출력됩니다.

#hostingforum.kr


오류 메시지: Unknown column 'id' in 'where clause'



# MYSQLI_REPORT_STRICT 예제


다음 예제에서는 report_mode 속성을 MYSQLI_REPORT_STRICT로 설정하여 오류를 예외로 변환하는 방법을 보여줍니다.

#hostingforum.kr
php

// report_mode 속성을 설정합니다.

mysqli_report(MYSQLI_REPORT_STRICT);



// MySQLi 연결을 생성합니다.

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



// 오류가 발생할 수 있는 쿼리를 실행합니다.

try {

    $result = $conn->query("SELECT * FROM table WHERE id = 'non-existent-id'");

} catch (mysqli_sql_exception $e) {

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

}



# 결과


위 예제에서 report_mode 속성을 MYSQLI_REPORT_STRICT로 설정한 경우, MySQLi 확장의 오류 보고가 다음과 같이 출력됩니다.

#hostingforum.kr


오류 메시지: Unknown column 'id' in 'where clause'



# MYSQLI_REPORT_ERROR 예제


다음 예제에서는 report_mode 속성을 MYSQLI_REPORT_ERROR로 설정하여 오류만 보고하는 방법을 보여줍니다.

#hostingforum.kr
php

// report_mode 속성을 설정합니다.

mysqli_report(MYSQLI_REPORT_ERROR);



// MySQLi 연결을 생성합니다.

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



// 오류가 발생할 수 있는 쿼리를 실행합니다.

$result = $conn->query("SELECT * FROM table WHERE id = 'non-existent-id'");



// 오류가 발생한 경우, 오류 메시지를 출력합니다.

if ($result === false) {

    echo "오류 메시지: " . $conn->error . "
";

}



# 결과


위 예제에서 report_mode 속성을 MYSQLI_REPORT_ERROR로 설정한 경우, MySQLi 확장의 오류 보고가 다음과 같이 출력됩니다.

#hostingforum.kr


오류 메시지: Unknown column 'id' in 'where clause'



# MYSQLI_REPORT_OFF 예제


다음 예제에서는 report_mode 속성을 MYSQLI_REPORT_OFF로 설정하여 오류를 보고하지 않는 방법을 보여줍니다.

#hostingforum.kr
php

// report_mode 속성을 설정합니다.

mysqli_report(MYSQLI_REPORT_OFF);



// MySQLi 연결을 생성합니다.

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



// 오류가 발생할 수 있는 쿼리를 실행합니다.

$result = $conn->query("SELECT * FROM table WHERE id = 'non-existent-id'");



// 오류가 발생한 경우, 오류 메시지를 출력합니다.

if ($result === false) {

    echo "오류 메시지: " . $conn->error . "
";

}



# 결과


위 예제에서 report_mode 속성을 MYSQLI_REPORT_OFF로 설정한 경우, MySQLi 확장의 오류 보고가 다음과 같이 출력됩니다.

#hostingforum.kr


오류 메시지:



위 예제에서 report_mode 속성을 MYSQLI_REPORT_OFF로 설정한 경우, 오류 메시지가 출력되지 않습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색