"Mysqli가 아니면 죽는다"의 위험: PHP의 대체 오류 처리
mysqli 확장을 사용하여 MySQL 데이터베이스와 상호작용할 때, 오류를 처리하기 위해 'or die' 구문을 사용하는 것이 일반적인 관행입니다. 그러나 이 접근 방식에는 탐구가 필요한 몇 가지 단점이 있습니다.
왜 "Or Die"가 사라져야 할까요?
"Or"의 대안 Die"
'or die'에 의존하는 대신 오류 발생 시 예외를 발생시키도록 mysqli를 구성하는 것이 좋습니다. 이는 다음 코드를 사용하여 달성할 수 있습니다.
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
이후 추가 코드 없이 MySQL 명령을 실행할 수 있습니다.
$result = mysqli_query($link, $sql);
예외 처리
예외가 발생하면 적절하게 포착하여 처리할 수 있습니다. 예:
try { $result = mysqli_query($link, $sql); } catch (mysqli_sql_exception $e) { // Log the error in a custom table or file log_error($e->getMessage()); }
사용자 정의 오류 로깅
예외 처리 외에도 사용자 정의 오류 로깅 시스템을 구축하는 것이 바람직합니다. 이를 통해 전용 테이블이나 파일에 오류를 기록할 수 있어 문제 해결을 위한 중앙 저장소를 제공할 수 있습니다. 로그 기능은 다음과 같이 구현할 수 있습니다.
function log_error($message) { // Connect to the error logging table database $error_conn = connect_to_error_logging_db(); // Insert the error message into the error logging table $query = "INSERT INTO error_log (message, timestamp) VALUES ('$message', NOW())"; mysqli_query($error_conn, $query); // Close the error logging database connection mysqli_close($error_conn); }
위 내용은 'mysqli_query() 또는 die()'가 왜 나쁜 습관이고 더 나은 대안은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!