> 백엔드 개발 > PHP 튜토리얼 > 오류 모드를 설정했는데도 PDO 오류 메시지가 비어 있는 이유는 무엇입니까?

오류 모드를 설정했는데도 PDO 오류 메시지가 비어 있는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-18 20:45:14
원래의
251명이 탐색했습니다.

Why Are My PDO Error Messages Empty Despite Setting Error Modes?

PDO에서 오류 메시지 추출: 불완전한 응답 문제 해결

PDO(PHP 데이터 개체)로 작업할 때 오류 메시지를 검색하는 것이 어려울 수 있습니다. 이 문제는 경고 또는 예외를 표시하도록 오류 모드를 설정했지만 여전히 예상되는 오류 정보를 추출하지 못하는 경우에 발생합니다.

제공된 예에서 코드는 오류 모드를 경고로 설정합니다.

$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
로그인 후 복사

그러나 PDOStatement 및 errorInfo()에 대한 print_r() 문은 빈 출력을 반환합니다. 이 문제를 해결하려면:

  • 기본 준비된 문 확인: MySQL 드라이버는 기본 준비된 문을 지원합니다. MySQL 버전이 호환되는지 확인하세요(4.1 이상).
  • 에뮬레이트된 준비 재정의: 기본적으로 PDO는 MySQL이 이를 지원한다고 보고할 때 에뮬레이트된 준비된 문을 사용합니다. 문제가 발생하는 경우 기본 문을 사용하도록 PDO 드라이버를 명시적으로 설정해 보세요.
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ATTR_PERSISTENT);
로그인 후 복사
  • 예외 처리로 변경: PDO는 오류가 발생할 때 예외를 발생시킬 수 있습니다. 경고를 사용하는 대신 오류 모드를 예외 처리로 설정해 보세요.
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
로그인 후 복사

이 변경 사항은 잘못된 SQL 쿼리가 실행될 때 예외를 트리거하여 필요한 오류 정보를 제공합니다.

위 내용은 오류 모드를 설정했는데도 PDO 오류 메시지가 비어 있는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿