라이브러리
[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로 설정한 경우, 오류 메시지가 출력되지 않습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.