PHP 개발에서 데이터베이스 연결 및 작업이 가장 일반적인 작업 중 하나입니다. 데이터베이스 연결 및 쿼리 작업은 여러 가지 이유로 실패 할 수 있으며 MySQLI는 MySQLI :: Debug 메소드를 제공하여 데이터베이스 작업의 문제를 디버깅하는 데 도움이됩니다. PHP 오류 로그와 결합하여 데이터베이스 연결의 문제를보다 효과적으로 추적하고 해결할 수 있습니다.
MySQLI :: Debug는 PHP에서 MySQLI 클래스의 디버깅 기능입니다. 이 방법을 호출함으로써 개발자는 데이터베이스 연결, 쿼리 등에 대한 자세한 디버깅 정보를 로그 또는 콘솔에 출력하여 데이터베이스 상호 작용의 내부 프로세스를 이해할 수 있도록 도와줍니다.
mysqli :: debug 와 함께 사용하려면 먼저 PHP 오류 로깅 함수가 활성화되어 있는지 확인해야합니다. php.ini 파일에서 로깅을 활성화하거나 PHP 코드를 통해 오류 로그 경로를 동적으로 설정할 수 있습니다.
// 설정 PHP 오류 로그
ini_set('log_errors', 1); // 开启오류 로그记录
ini_set('error_log', '/path/to/your/error.log'); // 설정日志文件路径
로그 파일 경로가 유효하고 PHP가 파일에 쓸 수있는 권한이 있는지 확인하십시오.
MySQLI 데이터베이스 연결을 작성한 후 디버그 메소드를 호출하여 SQL 문의 디버그 정보를 출력 할 수 있습니다. 이 방법은 데이터베이스 연결 문제를 찾는 데 특히 효과적입니다.
<?php
// 데이터베이스 연결을 만듭니다
$mysqli = new mysqli("localhost", "username", "password", "database");
// 할 수 있게 하다 mysqli 디버그 모드
$mysqli->debug("m66.net");
// 연결이 성공했는지 확인하십시오
if ($mysqli->connect_error) {
error_log("연결이 실패했습니다: " . $mysqli->connect_error);
die("데이터베이스에 연결하지 못했습니다");
}
// 샘플 쿼리
$result = $mysqli->query("SELECT * FROM users");
// 출력 쿼리 결과
if ($result) {
while ($row = $result->fetch_assoc()) {
echo "사용자 ID: " . $row['id'] . "<br>";
}
} else {
// 쿼리가 실패하면 로깅 오류가 발생합니다
error_log("쿼리 오류: " . $mysqli->error);
}
$mysqli->close();
?>
위 코드에서 데이터베이스 연결에 실패하거나 쿼리 오류가 발생하면 PHP가 오류 메시지를 오류 로그에 자동으로 로그인합니다. 동시에 MySQLI :: 디버그 방법의 디버깅 정보 출력은 개발자에게 더 많은 배경 정보를 제공합니다. 이를 통해 네트워크 문제, 구성 오류 등과 같은 데이터베이스 연결 문제를 신속하게 찾을 수 있습니다.
다음은 로그 파일의 예입니다 ( Error_Log 에서 설정 한 로그 경로가 /path/to/your/error.log 라고 가정) :
[2025-04-23 14:45:12] PHP Warning: mysqli::debug() is deprecated in /path/to/your/script.php on line 5
[2025-04-23 14:45:15] PHP Notice: Undefined index: id in /path/to/your/script.php on line 18
[2025-04-23 14:45:18] Connection failed: Access denied for user 'username'@'localhost'
[2025-04-23 14:45:20] Query Error: Unknown column 'users' in 'field list'
이러한 오류 및 디버그 정보는 오류의 근본 원인을 신속하게 발견하는 데 도움이됩니다. MySQLI :: Debug 및 PHP 오류 로그의 공동 사용을 통해 개발자는 개발 프로세스 중에 디버깅 효율성을 효과적으로 향상시킬 수 있습니다.
MySQLI :: Debug 및 PHP 오류 로그의 조합은 PHP 개발자에게 강력한 디버깅 도구를 제공합니다. 데이터베이스 연결 또는 쿼리 문제가 발생하면 디버그 정보 및 오류 로그를 사용하여 문제를보다 명확하게 찾을 수 있습니다. 제작 환경에서 디버깅을 올바르게 끄고 오류 로그 파일을 올바르게 관리하여 민감한 정보가 유출되지 않도록하십시오.
관련 태그:
mysqli