"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 기본적으로 PDO 던지기 예외를 어떻게 만들 수 있습니까?

기본적으로 PDO 던지기 예외를 어떻게 만들 수 있습니까?

2025-02-06에 게시되었습니다
검색:720

How Can I Make PDO Throw Exceptions by Default?

PDO Exception Handling Configuration

As a developer, you may prefer to have PDO throw exceptions by default. 따라서 데이터베이스 연결을 설정할 때마다 오류 처리 모드를 명시 적으로 설정할 필요가 없습니다. $ dbh-> setattribute (pdo :: attr_errmode, pdo :: errmode_exception)를 사용하여 오류 모드를 수동으로 설정할 수 있지만, 기본 동작으로 만드는 방법이 있는지 궁금 할 것입니다.

기본값 예외 처리

불행히도, php.ini 파일에 기본적으로 예외를 던지도록 pdo를 설정할 수있는 내장 구성 파일 또는 옵션이 없습니다. PHP는 전 세계적으로 오류 처리를 처리하고 PDO에만 국한되지 않기 때문입니다.

솔루션

[

[

&&&]
$pdo = new PDO('mysql:host=localhost;dbname=someDatabase', 'username', 'password', array(
  PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
));

오류 처리 모드를 포함하여 PDO 생성자에게 다양한 옵션을 전달할 수 있습니다. Somedatabase ','사용자 이름 ','비밀번호 ', 배열 ( pdo :: attr_errmode = & gt; pdo :: errmode_exception ));

2. 래퍼 클래스

class MyPDO extends PDO {
  public function __construct($dsn, $username, $password) {
    parent::__construct($dsn, $username, $password, array(
      PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
    ));
  }
}
또는 PDO를 확장하고 항상 오류 모드를 예외 모드로 설정하는 래퍼 클래스를 생성 할 수 있습니다. public function __construct ($ dsn, $ username, $ password) { parent :: __ construct ($ dsn, $ username, $ password, array ( pdo :: attr_errmode = & gt; pdo :: errmode_exception )); } }

이 접근법을 사용하면 일반 PDO 클래스 대신 사용자 정의 PDO 클래스를 사용할 수 있으며 항상 예외 처리 동작을 얻을 수 있습니다. dbname = somedatabase ','username ','password ');
            
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3