[php] PDO 데이터베이스 예외 로깅

PHP에서 데이터베이스에 접근할 때 예외를 적절히 처리하고 로깅하는 것은 매우 중요합니다. PDO(PHP Data Objects)를 사용하여 데이터베이스에 접속하는 경우, 예외를 처리하고 로깅하는 방법에 대해 알아보겠습니다.

PDO 예외 처리

PDO를 사용하면 데이터베이스 작업 중 발생할 수 있는 예외를 캐치하고 처리할 수 있습니다. 다음은 PDO를 사용하여 데이터베이스에 연결하고 쿼리를 실행할 때 예외를 처리하는 간단한 예제입니다.

try {
    $pdo = new PDO('mysql:host=localhost;dbname=myDB', $user, $pass);
    $stmt = $pdo->query('SELECT * FROM myTable');
} catch (PDOException $e) {
    echo '데이터베이스 에러: ' . $e->getMessage();
}

위의 예제에서는 PDO::query() 메서드를 호출할 때 발생할 수 있는 PDOException 예외를 캐치하여 에러 메시지를 출력하고 있습니다.

PDO 예외 로깅

예외를 캐치하고 에러 메시지를 출력하는 것 외에도, 예외를 로깅하여 나중에 분석할 수 있도록 남겨두는 것이 좋습니다. 예외를 파일에 로깅하는 방법을 보여주는 예제는 다음과 같습니다.

try {
    $pdo = new PDO('mysql:host=localhost;dbname=myDB', $user, $pass);
    $stmt = $pdo->query('SELECT * FROM myTable');
} catch (PDOException $e) {
    error_log('데이터베이스 에러: ' . $e->getMessage(), 3, '/var/log/myDBError.log');
}

위의 예제에서는 error_log() 함수를 사용하여 예외 메시지를 /var/log/myDBError.log 파일에 기록하고 있습니다.

정리

PHP PDO를 사용하여 데이터베이스에 접속할 때 예외를 적절히 처리하고 로깅하는 것은 안정성을 확보하는 데 매우 중요합니다. 적절한 예외 처리와 로깅은 애플리케이션의 안정성을 높이고 문제 해결을 용이하게 합니다.

참고문헌: