
PDO의 ERRMODE_SILENT 모드에서 SQL 에러 메시지를 처리하기 위해서는 PDO의 ERRMODE_WARNING 모드를 사용해야 합니다.
ERRMODE_SILENT 모드는 SQL 에러를 무시하고, ERRMODE_WARNING 모드는 SQL 에러를 경고 메시지로 출력합니다.
따라서, 아래와 같이 코드를 수정하여 setNoticeCallback 함수를 사용하여 SQL 에러 메시지를 처리할 수 있습니다.
#hostingforum.kr
php
$db = new PDO('pgsql:host=localhost;dbname=mydb', 'username', 'password');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$db->setNoticeCallback(function($message, $sql, $error_code, $error_string) {
echo "SQL 에러 메시지: $messagen";
});
또한, PDO의 ERRMODE_EXCEPTION 모드를 사용하여 예외를 발생시켜 SQL 에러 메시지를 처리할 수도 있습니다.
#hostingforum.kr
php
$db = new PDO('pgsql:host=localhost;dbname=mydb', 'username', 'password');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$db->setNoticeCallback(function($message, $sql, $error_code, $error_string) {
echo "SQL 에러 메시지: $messagen";
});
2025-06-12 03:30