집 >데이터 베이스 >MySQL 튜토리얼 >PDO가 기본적으로 예외를 발생시키도록 하려면 어떻게 해야 합니까?
PDO 예외 처리 구성
개발자라면 기본적으로 PDO에서 예외가 발생하도록 하는 것을 선호할 수 있습니다. 이렇게 하면 데이터베이스 연결을 설정할 때마다 오류 처리 모드를 명시적으로 설정할 필요가 없습니다. $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION)를 사용하여 오류 모드를 수동으로 설정할 수 있지만 이를 기본 동작으로 만드는 방법이 있는지 궁금할 수 있습니다.
기본 예외 처리
안타깝게도 기본 예외 처리가 없습니다. 기본적으로 예외를 발생시키도록 PDO를 설정할 수 있는 php.ini 파일의 구성 파일 또는 옵션입니다. 이는 PHP가 오류 처리를 전체적으로 처리하고 PDO에만 국한되지 않기 때문입니다.
해결책
원하는 동작을 달성하려면 다음 두 가지 옵션이 있습니다.
1. 생성자 인수
오류 처리 모드를 포함하여 다양한 옵션을 PDO 생성자에 전달할 수 있습니다:
$pdo = new PDO('mysql:host=localhost;dbname=someDatabase', 'username', 'password', array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ));
2. 래퍼 클래스
또는 PDO를 확장하고 항상 오류 모드를 예외 모드로 설정하는 래퍼 클래스를 만들 수 있습니다.
class MyPDO extends PDO { public function __construct($dsn, $username, $password) { parent::__construct($dsn, $username, $password, array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION )); } }
이 접근 방식을 사용하면 사용자 정의 일반 PDO 클래스 대신 PDO 클래스를 사용하고 항상 예외 처리 동작을 얻습니다.
$pdo = new MyPDO('mysql:host=localhost;dbname=someDatabase', 'username', 'password');
위 내용은 PDO가 기본적으로 예외를 발생시키도록 하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!