[php] PDO 오류 처리

PHP에서 데이터베이스에 접근할 때 PDO(PHP Data Objects)를 사용하면 코드를 더 안전하고 유지보수하기 쉽게 만들 수 있습니다. 그러나 가끔 PDO에서 발생하는 오류를 처리해야 하는 경우가 있습니다. 이 포스트에서는 PDO 오류를 처리하는 방법에 대해 알아보겠습니다.

1. PDO 오류 모드 설정

PDO 객체를 생성할 때, setAttribute 함수를 사용하여 PDO의 오류 모드를 설정합니다. 일반적으로 ERRMODE_EXCEPTION을 사용하면 PDO에서 발생하는 모든 오류를 예외로 처리할 수 있습니다.

예시코드:

try {
    $pdo = new PDO($dsn, $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}

2. 오류 메시지 출력

PDO에서 예외가 발생하면, 이를 캐치하여 오류 메시지를 출력할 수 있습니다. 이를 통해 디버깅 및 로깅에 활용할 수 있습니다.

예시코드:

try {
    // PDO 쿼리 실행
} catch (PDOException $e) {
    echo "오류 발생: " . $e->getMessage();
}

3. 오류 로깅

실제 운영 환경에서는 오류를 파일 또는 데이터베이스에 로깅하여 추후에 분석할 수 있도록 해야 합니다.

예시코드:

try {
    // PDO 쿼리 실행
} catch (PDOException $e) {
    error_log("PDO 오류: " . $e->getMessage(), 3, "/var/log/my-errors.log");
}

PDO를 사용할 때 오류 처리는 매우 중요합니다. 사용자에게 친숙한 오류 메시지를 제공하고, 시스템의 안정성을 유지하기 위해 적절한 오류 처리를 하도록 노력해야 합니다.


참고 자료: