현재 위치: > 최신 기사 목록> $ errno를 사용하여 구문 오류와 연결 오류의 차이를 감지하는 방법

$ errno를 사용하여 구문 오류와 연결 오류의 차이를 감지하는 방법

M66 2025-05-29

PHP에서는 MySQLI Extension을 사용하여 MySQL 데이터베이스와 상호 작용할 때 몇 가지 일반적인 오류가 발생할 수 있습니다. 이러한 오류의 경우 MySQLI :: $ errno를 통해 오류 코드를 가져와 문제를 진단하는 데 도움이됩니다. 특히 데이터베이스 연결 오류와 SQL 구문 오류를 구별하는 것이 중요합니다. 이 기사는 MySQLI :: $ errno를 사용 하여이 두 가지 오류를 구별하는 방법을 설명합니다.

1. 데이터베이스 연결 오류

데이터베이스 연결 오류는 일반적으로 데이터베이스에 연결하려고 할 때 발생합니다. 데이터베이스 서버에 주소, 사용자 이름, 비밀번호 또는 데이터베이스 이름에 오류가있는 경우 연결이 실패합니다. 이 경우 MySQLI :: $ errno는 특정 오류 코드를 반환 하며이 코드를 기반으로 문제를 판단 할 수 있습니다.

예 : 데이터베이스 연결 오류

 <?php
$host = 'localhost';  // 데이터베이스 서버 주소
$user = 'root';       // 데이터베이스 사용자 이름
$password = '';       // 데이터베이스 비밀번호
$database = 'test';   // 데이터베이스 이름

// 데이터베이스 연결을 만듭니다
$conn = new mysqli($host, $user, $password, $database);

// 연결이 성공했는지 확인하십시오
if ($conn->connect_errno) {
    echo "연결 오류: " . $conn->connect_error;
    // ~에 따르면errno오류 유형을 결정하십시오
    if ($conn->connect_errno == 1049) {
        echo "데이터베이스가 존재하지 않습니다!";
    } elseif ($conn->connect_errno == 1045) {
        echo "잘못된 사용자 이름 또는 비밀번호!";
    }
    exit();
}

echo "데이터베이스에 성공적으로 연결하십시오!";
?>

이 예에서는 데이터베이스 연결이 실패하면 $ conn-> connect_errno가 오류 코드를 반환합니다. 예를 들어, 오류 코드 1049는 데이터베이스가 존재하지 않음을 나타내고 오류 코드 1045는 사용자 이름이나 비밀번호가 잘못되었음을 나타냅니다. 이러한 오류 코드를 사용하면 문제를보다 정확하게 찾을 수 있습니다.

2. SQL 구문 오류

SQL 쿼리를 실행하면 SQL 구문 오류로 인해 쿼리가 실패 할 수 있습니다. 현재 MySQLI :: $ errno는 SQL 오류와 관련된 코드를 반환합니다. 오류 코드를 판단하면 SQL 구문 오류인지 또는 기타 유형의 오류 여부를 빠르게 구별 할 수 있습니다.

예 : SQL 구문 오류

 <?php
$host = 'localhost';
$user = 'root';
$password = '';
$database = 'test';

// 데이터베이스 연결을 만듭니다
$conn = new mysqli($host, $user, $password, $database);

// 구문 오류를 실행하십시오SQL질문
$sql = "SELEC * FROM users";  // 실수的질문:SELEC 해야합니다 SELECT
$result = $conn->query($sql);

// 조사하다SQL실행이 성공적인지 여부
if ($result === false) {
    echo "SQL실수: " . $conn->error;
    // 判断실수代码
    if ($conn->errno == 1064) {
        echo "SQL语法실수!";
    }
    exit();
}

echo "질문成功!";
?>

이 예에서 SQL 쿼리에는 구문 오류가 있고 ( selec은 선택 해야 함), $ conn-> errno는 1064를 반환하여 SQL 구문 오류를 나타냅니다. mysqli :: $ errno 의 값을 판단하면 SQL 쿼리의 문제를 신속하게 찾을 수 있습니다.

3. 요약

mysqli :: $ errno는 데이터베이스 연결 오류를 SQL 구문 오류와 구별하는 효과적인 방법을 제공합니다. 반환 된 오류 코드를 확인하면 문제를 신속하게 진단하고 디버깅 시간을 줄일 수 있습니다.

  • 데이터베이스 연결 오류 : Connect_ERRNO는 일반적으로 연결이 성공 여부를 확인하고 오류 코드 (예 : 사용자 이름 또는 비밀번호 오류, 데이터베이스가 존재하지 않는 등)로 다른 연결 오류를 구별하는 데 사용됩니다.

  • SQL 구문 오류 : SQL 쿼리에 문제가있는 경우 $ conn-> errno 가 반환 한 오류 코드는 구문 오류를 인식하는 데 도움이 될 수 있습니다.

이 두 가지 오류 처리 방법을 사용하면 데이터베이스 작업을 더 잘 관리하고 디버그하고 코드의 견고성을 향상시키는 데 도움이됩니다.