2017-05-17 2 views
0

내 페이지에 오류가 없지만 전달해야하는 매개 변수의 수가 얼마인지 알 수없는 준비된 명령문 호출이 필요하므로 mysqli 호출을 pdo로 변경해야합니다. pdo로 매개 변수의 배열.pdo는 모든 쿼리를 캐치해야합니까?

은 내가 on this page 읽기 :

경고! 애플리케이션이 PDO 생성자에서 던져진 예외를 잡아 내지 않으면, zend 엔진이 취한 기본 동작은 스크립트를 종료하고 백 트레이스를 표시하는 것입니다. 이 역 추적은 사용자 이름과 암호를 포함한 전체 데이터베이스 연결 세부 정보를 표시합니다. 명시 적으로 (catch 문을 통해) 또는 set_exception_handler()를 통해 내재적으로이 예외를 포착하는 것은 사용자의 책임입니다.

이전에는 pdo를 사용하지 않았으며 일부 자습서에서는 알지 못하는 사이에 사용자 이름/암호를 알려줄 수 없다는 사실을 지적하지 않았습니다.

모든 검색어를 입력해야하나요 아니면 new PDO();try/catch에 넣어야합니까? 좋은 연습 이니? try/catch 이상의 set_exception_handler()을 사용해야합니까?

+0

https://phpdelusions.net/pdo#errors –

+0

고마워요. 그 링크는 매우 도움이되었습니다. – core36

+0

코딩을 즐기십시오. –

답변

2

TL; DR :없는

예외를 생성하지 않습니다 쿼리의 대부분.

프로젝트를 개발하는 동안 포착되지 않은 예외로 인해 SQL 코드에서 오류를 찾을 수 있습니다. 그리고 프로젝트가 프로덕션으로 진행될 때 볼 수있는 예외 만 예상됩니다. "고유 키 위반"과 마찬가지로 일부 외래 키 제한 사항.

기본적으로 프로덕션 코드에서 예외는 예상 로직의 일부인 try-catch 블럭 만 둘러 싸야합니다.