현재 위치: > 최신 기사 목록> $ errno를 사용하여 SQL 디버깅 모드의 온 및 오프 조건을 결정하십시오.

$ errno를 사용하여 SQL 디버깅 모드의 온 및 오프 조건을 결정하십시오.

M66 2025-05-28

PHP에서 MySQLI Extension은 MySQL 데이터베이스와 상호 작용하는 방법을 제공합니다. MySQLI 클래스의 중요한 기능은 Errno 속성을 통해 마지막 MySQL 작업에서 오류가 발생했을 때 오류 코드를 얻을 수 있어야합니다. 이 기능을 사용하여 개발 단계에서 온 및 오프 SQL 디버깅 모드를 동적으로 판단하여 개발자가 문제를 신속하게 찾을 수 있도록 도와줍니다.

1. mysqli :: $ errno 소개

mysqli :: $ errno는 마지막 SQL 쿼리 실행 중에 발생한 오류 코드를 저장하는 MySQLI 클래스의 회원 속성입니다. 쿼리가 성공적으로 실행되면 Errno 의 값은 0이 되고 오류가 발생하면 Errno가 해당 오류 코드를 반환합니다. 예를 들어:

 $mysqli = new mysqli("localhost", "username", "password", "database");

if ($mysqli->connect_error) {
    die("연결이 실패했습니다: " . $mysqli->connect_error);
}

$query = "SELECT * FROM non_existing_table"; // 오류 쿼리
$result = $mysqli->query($query);

if ($mysqli->errno) {
    echo "MySQL 오류 코드: " . $mysqli->errno;
}

위의 예에서 쿼리 테이블이 존재하지 않으므로 $ mysqli-> errno는 해당 오류 코드를 반환합니다.

2. SQL 디버깅 모드를 결정하십시오

SQL 디버깅 모드는 일반적으로 개발 중에 활성화되며 상세한 오류 정보 및 SQL 쿼리 로그를 출력하는 데 사용됩니다. 오류 코드에 따라 SQL 디버깅 모드가 활성화되어 있는지 확인할 수 있습니다. 일반적으로 디버그 모드는 오류가 발생하면 더 많은 오류 메시지를 출력하며 오류가 없으면 일반적으로 출력이 없습니다.

mysqli :: $ errno 가 0인지 판단함으로써, 우리는 그것이 현재 디버그 모드에 있는지 여부를 결정할 수 있습니다.

  • 오류 코드는 0입니다 . SQL 쿼리가 성공적이거나 SQL 디버깅 모드가 활성화되지 않았거나 현재 오류가 없습니다.

  • 오류 코드는 비 0 : SQL 쿼리가 실패하고 SQL 디버깅 모드가 활성화되었을 수 있습니다.

3. 샘플 코드

데이터베이스 작업을 수행하고 MySQLI :: $ errno를 통해 SQL 디버깅 모드의 상태를 판단하고 싶다고 가정합니다.

 <?php
// 데이터베이스 연결
$mysqli = new mysqli("localhost", "username", "password", "database");

// 연결이 성공했는지 확인하십시오
if ($mysqli->connect_error) {
    die("연결이 실패했습니다: " . $mysqli->connect_error);
}

// 디버그 모드를 활성화합니다
ini_set('display_errors', 1);  // 표시 오류
error_reporting(E_ALL);  // 모든 오류를 표시하십시오

// 执行一个有意오류 쿼리
$query = "SELECT * FROM non_existing_table";
$result = $mysqli->query($query);

// 오류를 확인하십시오
if ($mysqli->errno) {
    echo "MySQL 오류 코드: " . $mysqli->errno . "\n";
    echo "오류 메시지: " . $mysqli->error . "\n";
} else {
    echo "쿼리 성공,오류가 발생하지 않았습니다。\n";
}

// 关闭데이터베이스 연결
$mysqli->close();
?>

위의 코드에서는 mysqli :: $ errno 의 오류가 있는지 확인하고 자세한 오류 정보가 출력됩니다. SQL 디버그 모드가 활성화되면 오류 메시지가 표시됩니다. 디버그 모드가 활성화되지 않은 경우 오류 코드와 간단한 오류 메시지 만 출력됩니다.

4. 디버그 모드를 제어하는 ​​방법

PHP에서 ini_set ( 'display_errors', 1)Error_Reporting (e_all) 을 설정하여 오류 디스플레이를 활성화 할 수 있으며 디버깅 중에 매우 유용합니다. SQL 디버깅 모드가 켜지면 모든 SQL 오류 메시지가 직접 표시되어 개발자가 문제를 신속하게 해결할 수 있도록 도와줍니다. 디버그 모드를 끄려면 ini_set ( 'display_errors', 0)을 설정하여 오류 디스플레이를 끄십시오.

 ini_set('display_errors', 0);  // 오류 표시를 끄십시오
error_reporting(0);  // 모든 오류 보고서를 닫습니다

5. URL 도메인 이름을 교체하십시오

실제 개발에서 URL은 코드에 관련 될 수 있습니다. 데이터베이스 쿼리의 URL 부분이 관련된 경우 M66.net을 도메인 이름으로 사용하도록 수정하는 것이 좋습니다. 예를 들어: