Dealing with Errors in PDO

앞서 언급했듯이 PDO에는 Exception 클래스가 내장되어있어 매우 유용합니다 우리 응용 프로그램에서 발생할 수있는 오류를 쉽게 처리 할 수 ​​있습니다

당신이 에러를 처리 할 책임이 있음을 명시 적으로 언급 한 PHP 매뉴얼을 방문하십시오 데이터베이스에 연결하거나 데이터베이스에 연결할 때 발생할 수 있습니다 기본적으로 데이터베이스에 쿼리하면 PDO에 세 가지 오류 처리 모드가 있으며 각각의 단계를 단계별로 생각해보십시오 첫 번째 오류 모드는 무음입니다 PDO가이 모드에있을 때 PDO의 기본 동작은 수동으로 수행해야합니다

오류를 확인하고 혼자서 이러한 오류가 발생하면이 오류가 발생하지 않습니다 이 모드에서는 PDO가 실제로 많은 것을 노출하기 때문에 애플리케이션에 유용합니다 귀하의 연결 자격 증명 및 귀하의 정보와 관련된 기타 정보 악의적 인 사용을 줄 수있는 데이터베이스 그들이하는 일을 향상시키다 다음 모드는 오류 모드입니다 기본적으로 PHP를 throw합니다

경고 선호되는 메소드 인 마지막 메소드는 에러 모드 예외입니다 기본적으로 PDO 예외를 throw하여 우리가 시도 할 수있는 부분을 줄일 수 있습니다 catch 블록을 사용하면 PDO에 대한 오류 모드를 지정할 수 있습니다 options 배열은 이전에 지속 된 속성에 대해 수행했습니다 강의를하거나 set 속성 메소드를 사용하여 특정 PDO 에러 처리를위한 모드 그래서 PDO에서 에러 핸들링을 할 때, try catch 블록에있는 우리의 성명은 try catch 블록은 기본적으로 try to try라고 말합니다

데이터베이스에 연결하고 처리 할 오류가있는 경우 프로세스에 연결하십시오 catch 블록에있는 try 키워드와 catch 키워드를 사용하십시오 어떤 예외를 우리가 잡을지를 지정하십시오이 경우에는 PDO 예외가 될 것입니다 그리고 우리는 그냥 변수에 이렇게 저장하고 있습니다 코드를 빠르게 살펴보고이 모든 것을 어떻게 활용할 수 있는지 살펴 보겠습니다 PDO에 대한 오류 모드를 지정하기 전에 먼저 메소드를 작성해보십시오

여기에 오류 메시지가있는 시나리오가 있으므로 여기에 문자열을 추가하고 우리는 페이지 새로 고침 여기에서 우리는 여기에 잡히지 않은 예외 PDO 예외가 있음을 알 수 있습니다 메시지가 드라이버를 찾을 수 없으므로 기본적으로 PDO가 우리가 지정한 드라이버를 찾지 못했습니다 다른 사용 사례를 살펴 보겠습니다 여기에 잘못된 사용자 이름과 잘못된 암호를 지정하고 새로 고침하다 PDO가 무엇인지에 대한 많은 정보를 제공한다는 것을 알 수 있습니다

여기에 기본적으로 많은 것이 우리 데이터베이스와 우리가 PDO를 예외 모드로 설정할 수있는 이유는 무엇입니까? 그래서 앞서 언급했듯이 실제로 배열 목록에 포함시킬 수 있습니다 여기서 한 번에 또는 PDO의 set attribute 메소드를 실제로 사용할 수 있습니다 우리가 원하는 예외 모드를 지정한다 set 속성을 사용하자 메소드에서 연결 변수를 참조한 다음 대쉬와 사인보다 큼

시작과 종료 괄호 사이의 속성 메소드 PDO 클래스를 참조한 다음 그의 범위 분석을 사용하여 이번에 설정하고자하는 속성의 속성 오류 모드를 설정하려고합니다 우리는 attr이 에러 모드를 강조하고 다음으로 우리는 PDO를 넣을 모드를 말할 필요가 있다고 말한다 그래서 우리는 PDO 오류 모드를 말할 것입니다 기본값은 내가 전에 언급 한 것처럼 침묵입니다 이를 경고로 설정하거나 오류 모드 예외로 설정할 수 있습니다

선호하는 방법 그래서 이것은 지금 우리가해야 할 첫 단계는 포장하는 것이다 이 모든 것들을 try catch 블록 안에 넣으십시오 그래서 나는이 모든 것을 잡을 것입니다 예외 우리는 PDOException을 잡아두고 결과 값을 변수에 저장하려고합니다 try라는 블럭 안에서 우리는 데이터베이스 연결이 성공하면이 메시지가 표시됩니다

연결이 실패하면 연결이 성공합니다 PDO에 액세스하려고합니다 여기에 지정된 변수를 사용하는 예외 클래스는 특정 클래스를 가져옵니다 오류 메시지가 표시되면 여기에 간단하게 데이터베이스 오류가 발생했습니다 지금 새로 고침을 해보 죠

우리 데이터베이스에 대한 모든 정보를 표시하는 대신 우리는이 간단한 메시지를 가지고 있습니다 데이터베이스 오류가 현재 개발 중에 발생했습니다 환경에서 발생한 특정 오류 메시지가 무엇인지보고 싶을 수 있습니다 이 경우 변수에 저장된 정보에 실제로 액세스 할 수 있습니다 전에 말했듯이 전 (ex)이라고 말할 수 있습니다

그런 다음이 특별한 메시지를 얻습니다 이제 우리가 새로 고침을 다시하면 우리는 무슨 일이 일어 났는지에 대한 자세한 정보를 얻을 것입니다 당신이 아직도 개발 중일 때, 그러나 당신이 생산을 추진할 때 중요합니다 그것은 단지 데이터베이스 오류가 발생하여 간단한 문자열이어야합니다 데이터베이스 연결 스크립트를 정리합니다

연결을 정의 할 것입니다 따라서 생성자에 전달할 수있는 상수의 매개 변수 바로 여기에 우리가 정의한 다음 괄호를 열고 닫는다 고 말합니다 세미콜론으로 끝나야합니다 그래서 우리가 필요로하는 것은 DSN과 그때 우리가 이것을 복사 할 수있는 가치 여기에 붙여 넣기 다른 상수를 정의하고 싶다 이것은해야한다 사용자 이름 모두 대문자로 만들어 보자

이 사용자 이름 case가 task이고 암호를 정의 할 필요가 있습니다 옵션을 위해서 우리는 배열을 만들 수있다 그래서 우리가 필요하다면 더 많은 옵션 추가 쉼표를 넣고 다음 옵션을 지정하기 만하면됩니다 지금 우리는 이것을 여기에서 사용하려고합니다 DSN은 우리가 방금 생성 한 상수입니다

사용자 이름 인 상수도 사용하려고하는 사용자 이름 password 우리는 또한 암호 인 상수를 사용할 것입니다 마지막으로 옵션을 사용하여 배열을 사용하려고 했으므로 새로 고침 해 봅니다 브라우저가 동일하게 작동하는지 확인하십시오 이제 데이터베이스 연결 문자열 때문에 연결이 성공적으로 완료되었습니다 이 강의에서 우리는 연결을 만드는 한 가지 방법을 보았습니다

다음 강연에서 PDO를 사용하는 데이터베이스 우리가 될 테이블을 만들 것입니다 다음 섹션에서 사용