PHP에서 MySQLI 확장 기능을 사용하여 MySQL 데이터베이스와 상호 작용할 때 종종 MySQLI_RESULT 기능을 사용하여 쿼리 결과를 처리합니다. SQL 쿼리를 실행할 때 오류가 잡히고 SQL 문의 내용을보고 오류가 발생하면 결과 오브젝트의 내용을보기 위해 오류가 발생할 때 일반적으로 일부 추가 디버깅 출력을 수행합니다.
이 기사에서는 쿼리를 실행할 때 오류를 캡처하고 SQL 문의 내용 및 쿼리 결과 객체의 내용을 인쇄하는 방법을 보여줍니다.
먼저 MySQL 데이터베이스에 연결해야합니다. 여기에서는 MySQLI_Connect를 사용하여 데이터베이스 서버에 연결합니다.
<?php
$host = "localhost"; // 데이터베이스 호스트 주소
$username = "root"; // 데이터베이스 사용자 이름
$password = ""; // 데이터베이스 비밀번호
$dbname = "my_database"; // 데이터베이스 이름
// 연결을 만듭니다
$conn = new mysqli($host, $username, $password, $dbname);
// 연결이 성공했는지 확인하십시오
if ($conn->connect_error) {
die("연결이 실패했습니다: " . $conn->connect_error);
}
?>
SQL 쿼리를 실행할 때 MySQLI_Query 함수의 리턴 값을 캡처 할 수 있습니다. 쿼리 오류가 발생하면 SQL 문과 반환 된 결과 객체 내용을 인쇄합니다.
<?php
// 예 SQL 질문
$sql = "SELECT * FROM users"; // 질문 users 테이블의 모든 기록
// 执行질문
$result = $conn->query($sql);
// 检查질문是否成功
if (!$result) {
// 如果질문失败,오류 메시지를 인쇄합니다
echo "질문失败: " . $conn->error . "<br>";
// 실행 된 것을 인쇄하십시오 SQL 성명
echo "SQL 성명: " . $sql . "<br>";
// 인쇄 mysqli_result 객체 내용(그렇다면)
echo "结果객체 내용: ";
var_dump($result);
} else {
// 如果질문成功,처리 결과
while ($row = $result->fetch_assoc()) {
echo "사용자ID: " . $row["id"] . " - 사용자名: " . $row["username"] . "<br>";
}
}
?>
$ conn-> query ($ sql) :이 코드 줄은 SQL 쿼리를 실행하는 데 사용됩니다. 쿼리가 실패하면 $ result가 false 가되고 오류 메시지와 SQL 문을 인쇄 할 수 있습니다.
$ conn-> 오류 :이 속성은 가장 최근에 실행 된 SQL 쿼리 오류 메시지를 반환합니다. 쿼리 실패의 원인을 진단하는 데 사용할 수 있습니다.
var_dump ($ result) : 쿼리가 실패하면 $ 결과 변수는 false가 됩니다. 디버깅의 경우 var_dump를 사용하여 MySQLI_RESULT 객체의 내용을 출력하여 오류가 발생할 때 특정 정보를 보는 데 도움이됩니다.
작업이 완료되면 데이터베이스 연결을 닫아야합니다.
<?php
$conn->close();
?>
위의 코드 예제를 통해 SQL 쿼리가 실패하면 프로그램이 실패한 SQL 문 및 오류 메시지를 인쇄하여 개발자가 문제를 멸망시키고 찾는 데 도움이됩니다. 특히 개발 및 테스트 단계 에서이 정보를 캡처하고 출력하는 것이 매우 유용하여 쿼리에서 문제를 신속하게 찾을 수 있습니다.
보다 복잡한 데이터베이스 응용 프로그램을 개발하는 경우 쿼리가 실행될 때마다 오류 처리 및 디버그 출력을 수행하는 것이 좋습니다. 특히 동적 입력 또는 기타 요인으로 인해 쿼리 문이 오류가 발생할 수 있습니다.
이 기사가 도움이되기를 바랍니다. 언제든지 더 많은 질문을 할 수 있습니다.