PHP 보고 SQL 오류를 비활성화하는 방법은 무엇입니까?
P粉550257856
P粉550257856 2023-09-05 17:14:24
0
1
667
<p>저는 <code>mysqli_error($this->conn)</code></p>를 사용하여 MySQL 오류를 txt 파일에 기록하는 자체 PHP 데이터 클래스를 가지고 있습니다. <p>PHP 오류 처리를 E_ALL로 설정하기 전까지는 모든 것이 잘 작동했습니다. 이제 PHP는 오류를 가로채고 내 MySQL 오류 핸들러에서 이를 처리할 기회가 없습니다. </p> <p>PHP가 오류의 전체 SQL 문자열을 기록하지 않았다는 점을 제외하면 이는 문제가 되지 않습니다. 처음 20자 정도만 기록하고 그 뒤에 "..."가 붙는데, 이는 디버깅에 별로 유용하지 않습니다. </p> <p>제 질문은: PHP 오류를 처리하면서 MySQL 오류를 무시하도록 PHP에 지시하는 것이 가능합니까? </p> <p>다양한 수준의 error_reporting()을 살펴봤지만 특별히 MySQL 오류가 남지 않는 것 같습니다. </p>
P粉550257856
P粉550257856

모든 응답(1)
P粉161939752

mysqli 오류 보고를 비활성화하면 이 작업을 수행할 수 있지만 일반 프로젝트에서는 이 작업을 수행하면 안 됩니다. 사실, 당신은 이 문제를 잘못된 방향으로 다루고 있는 것 같습니다! 오류 보고를 비활성화해서는 안 되며 오류를 수정해야 합니다!

언급한 대로 오류가 잘못 구성된 동적 SQL 문에서 발생하는 경우 오류가 디자인의 일부가 되는 것을 원하지 않기 때문에 코드에는 이러한 가능한 시나리오를 처리하기 위한 논리가 포함되어서는 안 됩니다. 다른 오류와 마찬가지로 이는 PHP 코드의 버그입니다. 이것이 MySQL 오류로 나타난다는 사실은 부적합합니다. 잘못된 SQL 문을 작성하는 코드를 수정해야 합니다! 오류를 음소거해도 오류 수정에는 도움이 되지 않습니다!

PHP 코드가 상수 SQL 부분에서 SQL을 구축한다고 가정하면(변수를 사용하는 경우 코드에 더 큰 문제가 있음) SQL 키워드의 잘못된 조합을 일으키는 코드 경로를 확인하는 것이 작업입니다. SQL 오류에서 이를 부분적으로 추론할 수 있습니다. 예외 메시지는 구문 오류가 무엇인지 알려줍니다. MySQL 오류가 손상된 구문과 관련이 없는 경우 프로세스는 여전히 유사합니다. 오류의 원인을 찾아 수정합니다.

SQL 코드 주위에 특별한 오류 처리 논리를 작성하지 마세요. 그것은 혼란스럽고 전혀 불필요합니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿