PHP 응용 프로그램을 개발할 때는 종종 MySQL 데이터베이스와 상호 작용해야합니다. 때때로 우리는 예상대로 작동하지 않는 SQL 쿼리, 데이터베이스 연결 실패 또는 쿼리 결과와 같은 어려운 문제가 발생합니다. 이러한 문제를보다 효율적으로 해결하기 위해 PHP는 MySQLI :: Debug 및 VAR_DUMP 와 같은 유용한 도구를 제공하여 문제를보다 빠르게 찾는 데 도움이됩니다. 이 기사는 데이터베이스 문제를 해결하는 데 도움이되는이 두 도구를 조합하여 사용하는 방법을 소개합니다.
MySQLI :: Debug는 MySQLI Extension에서 제공하는 디버깅 방법으로 MySQL 데이터베이스와 PHP 사이의 상호 작용 로그를 표시 할 수 있습니다. MySQLI :: Debug를 활성화하여 데이터베이스 연결 또는 SQL 쿼리에서 오류가 발생하면 세부 디버깅 정보를 얻을 수있어 발생하는 일을보다 명확하게 이해할 수 있습니다.
<?php
// 만들다 MySQLi 예
$mysqli = new mysqli('localhost', 'username', 'password', 'database');
// 디버그 모드를 활성화합니다
$mysqli->debug('d:t,query=on');
// 쿼리를 실행하십시오
$result = $mysqli->query('SELECT * FROM users WHERE email = "example@m66.net"');
// 쿼리 결과를 얻으십시오
while ($row = $result->fetch_assoc()) {
var_dump($row);
}
// 데이터베이스 연결을 닫습니다
$mysqli->close();
?>
위의 코드에서는 Debug 모드를 활성화하기 위해 $ mysqli-> debug ( 'd : t, query = on')가 호출됩니다. 이러한 방식으로 모든 데이터베이스 작업 (연결, 쿼리 등 포함)은 자세한 디버깅 정보를 인쇄합니다. 특히 쿼리를 실행할 때 SQL 쿼리의 세부 사항을 명확하게보고 문제를 진단 할 수 있습니다.
VAR_DUMP 는 PHP의 내장 기능으로 변수의 세부 사항을 인쇄합니다. 변수의 유형과 내용을 표시 할 수 있으며 배열 및 객체와 같은 복잡한 데이터 구조를 디버깅하는 데 특히 적합합니다.
데이터베이스를 쿼리 할 때 Var_Dump를 사용하면 쿼리 결과의 구조를보고 데이터가 예상대로 반환되는지 확인하는 데 도움이 될 수 있습니다. 예를 들어, 데이터베이스 쿼리 결과의 필드 값을 보거나 MySQLI 쿼리 함수가 오류 메시지를 반환하는지 확인할 수 있습니다.
<?php
// 만들다 MySQLi 예
$mysqli = new mysqli('localhost', 'username', 'password', 'database');
// 쿼리를 실행하십시오
$query = 'SELECT * FROM users WHERE email = "example@m66.net"';
$result = $mysqli->query($query);
// 쿼리가 성공했는지 확인하십시오
if ($result) {
// 사용 var_dump 출력 쿼리 결과
var_dump($result->fetch_all(MYSQLI_ASSOC));
} else {
// 쿼리가 실패하면,출력 오류 메시지
var_dump($mysqli->error);
}
// 데이터베이스 연결을 닫습니다
$mysqli->close();
?>
이 코드에서는 먼저 쿼리를 실행하고 var_dump ($ result-> fetch_all (mysqli_assoc))를 사용하여 쿼리 결과를 인쇄합니다. 이러한 방식으로 데이터베이스에서 반환 한 모든 데이터를 직접 볼 수 있습니다. 이 데이터를 살펴보면 데이터베이스 쿼리가 예상대로 결과를 반환하는지 확인할 수 있습니다.
mysqli :: debug 및 var_dump를 결합하여 데이터베이스 문제를보다 포괄적으로 디버그 할 수 있습니다. 예를 들어, 쿼리를 실행할 때 먼저 디버그 모드를 활성화하여 SQL 쿼리의 실행을보고 var_dump를 통해 쿼리 결과 또는 오류 정보를 출력하여 문제를 빠르게 찾을 수 있습니다.