현재 위치: > 최신 기사 목록> MySQLI :: $ errno를 사용하여 데이터베이스 작업의 견고성을 보장하기 위해 SQL 실행 오류를 캡처하고 처리하는 방법은 무엇입니까?

MySQLI :: $ errno를 사용하여 데이터베이스 작업의 견고성을 보장하기 위해 SQL 실행 오류를 캡처하고 처리하는 방법은 무엇입니까?

M66 2025-07-28

오류 처리는 특히 복잡한 프로젝트에서 데이터베이스 작업을 수행 할 때 중요한 단계입니다. 데이터베이스 작업에 PHP의 MySQLI Extension을 사용하면 SQL 실행 오류를 캡처하고 처리하면 프로그램의 안정성과 견고성이 보장됩니다. 이 기사는 MySQLI :: $ errno 속성을 사용하여 SQL 오류를 잡고 처리하는 방법을 설명합니다.

1. mysqli :: $ errno 란 무엇입니까?

mysqli :: $ errno는 가장 최근의 MySQL 작업에 대한 오류 코드를 얻기 위해 PHP MySQLI Extension의 속성입니다. 이 오류 코드는 정수 값으로 데이터베이스 작동 실패의 특정 이유를 나타냅니다. 이 속성을 통해 오류의 원인을 이해하고이를 처리하는 방법을 결정할 수 있습니다.

SQL 문을 실행할 때 구문 오류, 연결 문제, 권한 문제 등과 같은 다양한 유형의 오류가 발생할 수 있습니다. MySQLI :: $ errno는 이러한 오류의 특정 코드를 얻은 다음 타겟팅 된 방식으로 오류를 처리하는 데 도움이 될 수 있습니다.

2. 샘플 코드 : SQL 오류를 잡고 처리하는 방법은 무엇입니까?

다음은 MySQLI :: $ errno를 사용하여 SQL 오류를 잡고 처리하는 방법을 보여주는 간단한 PHP 예입니다.

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

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

// 구현하다 SQL 질문
$sql = "SELECT * FROM non_existent_table"; // 의도적으로 테이블 이름을 작성했습니다
$result = $mysqli->query($sql);

// 오류가 발생했는지 확인하십시오
if ($mysqli->errno) {
    echo "SQL 오류 코드: " . $mysqli->errno . "<br>";
    echo "오류 메시지: " . $mysqli->error . "<br>";
    // 根据오류 코드处理错误
    if ($mysqli->errno == 1146) {
        echo "테이블이 존재하지 않습니다,테이블 이름을 확인하십시오!<br>";
    } else {
        echo "또 다른 오류가 발생했습니다,관리자에게 문의하십시오!<br>";
    }
} else {
    // 정상적인 처리 결과
    while ($row = $result->fetch_assoc()) {
        echo "ID: " . $row['id'] . " - Name: " . $row['name'] . "<br>";
    }
}

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

3. 코드 파싱

  • 데이터베이스 연결 : 먼저 New MySQLI ()를 통해 데이터베이스에 연결하고 연결이 성공했는지 확인합니다. 연결이 실패하면 Die () 함수를 사용하여 오류 메시지가 출력되고 스크립트가 종료됩니다.

  • SQL 쿼리 실행 : 다음으로, 존재하지 않는 테이블 이름을 사용하여 고의적으로 잘못된 SQL 쿼리를 실행합니다.

  • 오류 확인 : 쿼리를 실행 한 후 $ mysqli-> errno를 사용하여 SQL 오류가 발생했는지 확인합니다. 오류가 발생하면 $ mysqli-> errno가 0이 아닌 오류 코드를 반환합니다. mysqli :: $ errno를 사용하면 특정 오류 코드를 가져 와서이 코드를 기반으로 적절한 조치를 취할 수 있습니다.

  • 오류 처리 : 오류 코드에 따라 사용자 정의 된 오류 처리를 수행 할 수 있습니다. 예를 들어, 오류 코드가 1146 인 경우 (테이블이 존재하지 않음을 나타냅니다) 해당 프롬프트를 제공합니다.

4. 일반적인 MySQL 오류 코드

다음은 몇 가지 일반적인 MySQL 오류 코드입니다.

  • 1045 : 액세스 거부, 사용자 이름 또는 비밀번호의 오류를 나타냅니다.

  • 1146 : 테이블이 존재하지 않습니다.

  • 1064 : SQL 구문 오류 (SQL의 구문 오류).

  • 2002 : MySQL 서버에 연결할 수 없습니다.

특정 오류 코드에 따라 오류 로그 기록, 관리자 알림 또는 사용자 친화적 인 오류 메시지 표시와 같은 대상 방식으로 오류를 처리 할 수 있습니다.

5. 오류 처리의 중요성

실제 개발에서 데이터베이스 오류 처리는 시스템 안정성을 보장하는 핵심입니다. 데이터베이스 오류가 처리되지 않으면 프로그램이 런타임에 충돌하여 데이터 손실 또는 시스템을 사용할 수 없습니다. SQL 오류를 잡고 적절하게 처리함으로써 이러한 문제를 효과적으로 피할 수 있습니다. 예를 들어, 오류가 발생하면 상세한 오류 정보를 기록하거나 사용자 측면에서 간결하고 친근한 오류 프롬프트를 표시 할 수 있습니다.

6. 요약

SQL 오류를 캡처하고 처리하기 위해 mysqli :: $ errno를 사용하면 데이터베이스 작업의 견고성을 보장하고 오류로 인한 충돌 또는 데이터 문제를 줄일 수 있습니다. 개발 과정에서 우수한 오류 처리는 개발자가 문제를 더 빨리 찾는 데 도움이 될뿐만 아니라 사용자 경험을 향상시키고 시스템을보다 안정적이고 안전하게 만듭니다.

위의 것은 MySQLI :: $ errno를 사용하여 SQL 오류를 캡처하고 처리하는 방법에 대한 자세한 소개입니다. 이 기사가 데이터베이스 작업의 오류를 처리하는 방법을 더 잘 이해하고 프로그램의 견고성을 향상시키는 데 도움이되기를 바랍니다. 질문이 있으시면 언제든지 물어보십시오!