현재 위치: > 최신 기사 목록> MySQLI_Options로 연결 속성을 조정할 때 $ errno 오류가 발송됩니다.

MySQLI_Options로 연결 속성을 조정할 때 $ errno 오류가 발송됩니다.

M66 2025-06-02

개발자는 종종 PHP를 사용하여 MySQL과 상호 작용할 때 연결 오류 또는 성능 문제를 경험합니다. mysqli :: $ errnomysqli_options는 MySQL 연결 속성을 더 잘 해결하고 조정하여 공통 연결 오류 또는 불안정성 문제를 해결하는 데 도움이 될 수 있습니다. 이 기사는 이러한 도구를 사용하여 MySQL 연결을 디버깅하는 방법을 자세히 설명합니다.

1. 소개

MySQL은 MySQL과 상호 작용할 때 개발자가 문제를 진단하는 데 도움이되는 풍부한 연결 옵션 및 오류 코드를 제공합니다. PHP의 MySQLI 확장자는 MySQLI :: $ errnomysqli_options 와 같은 도구를 제공하여보다 세분화 된 데이터베이스 연결 및 오류를 잡고 조정할 수 있습니다.

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

mysqli :: $ errno는 이전 MySQL 작업이 실패했을 때 오류 코드를 나타내는 정수입니다. 이 속성은 데이터베이스 연결이 실패하거나 SQL 쿼리를 실행하는 동안 오류가 발생하면 해당 오류 코드를 반환 할 수 있습니다. 이 오류 코드를 분석하여 오류의 원인을 이해하는 데 도움이 될 수 있습니다.

일반적인 MySQL 오류 코드는 다음과 같습니다.

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

  • 1045 : 액세스 거부, 사용자 이름 또는 비밀번호 오류

  • 1049 : 지정된 데이터베이스가 존재하지 않습니다

3. mysqli_options 란 무엇입니까?

mysqli_options 함수를 사용하면 MySQL 연결을 만들 때 다른 연결 옵션을 설정할 수 있습니다. 이러한 옵션 통해 연결 시간 초과 설정, 문자 세트 조정 등과 같은 MySQL 연결의 동작을 조정할 수 있습니다.

일반적인 옵션은 다음과 같습니다.

  • mysqli_opt_connect_timeout : 연결 시간 초과 시간을 설정합니다.

  • mysqli_opt_local_infile : 로드 데이터로드 명령을 활성화 또는 비활성화합니다.

  • mysqli_opt_compress : 데이터 압축을 활성화 또는 비활성화합니다.

4. 연결 오류 문제 해결

4.1 연결이 성공했는지 확인하십시오

mysqli :: $ errno를 사용하면 연결을 설정 한 후 성공했는지 여부를 결정할 수 있습니다. 연결이 실패하면 MySQLI :: $ 오류를 통해 자세한 오류 정보를 얻을 수 있습니다.

 <?php
$mysqli = new mysqli("m66.net", "username", "password", "database");

if ($mysqli->connect_errno) {
    echo "연결이 실패했습니다: " . $mysqli->connect_error;
    exit();
}
echo "연결이 성공적으로 연결됩니다!";
?>

이 예에서 $ mysqli-> connect_errno가 0이 아닌 값을 반환하면 연결이 실패했음을 의미합니다. 오류 코드에 따라 더 문제를 해결할 수 있습니다.

4.2 MySQLI_OPTIONS를 사용하여 연결 매개 변수를 조정하십시오

때로는 기본 타임 아웃 설정 또는 문자 설정 불일치로 인해 MySQL 연결이 실패 할 수 있습니다. 이 설정은 mysqli_options를 사용하여 조정할 수 있습니다.

예를 들어, 연결 시간 초과가 의심되는 경우 mysqli_opt_connect_timeout을 조정할 수 있습니다.

 <?php
$mysqli = new mysqli();
$timeout = 10; // 연결 시간 초과를 설정하십시오10두번째

// 연결 시간 초과를 설정합니다
$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, $timeout);

$mysqli->real_connect("m66.net", "username", "password", "database");

if ($mysqli->connect_errno) {
    echo "연결이 실패했습니다: " . $mysqli->connect_error;
    exit();
}
echo "연결이 성공적으로 연결됩니다!";
?>

연결하는 동안 타임 아웃 오류가 발생하면 MySQLI_OPT_CONNECT_TIMEOUT를 조정하여 내용을 높이고 네트워크 대기 시간 또는 MySQL 서버의 느린 응답으로 인해 연결 고장을 피할 수 있습니다.

4.3 오류 코드 분석

mysqli :: $ errno를 통해 특정 오류 코드를 얻은 후 오류 유형에 따라 다른 측정을 할 수 있습니다. 예를 들어:

 <?php
$mysqli = new mysqli("m66.net", "username", "wrong_password", "database");

if ($mysqli->connect_errno) {
    switch ($mysqli->connect_errno) {
        case 1045:
            echo "잘못된 사용자 이름 또는 비밀번호,입력 한 바우처를 확인하십시오";
            break;
        case 2002:
            echo "연결할 수 없습니다 MySQL 섬기는 사람,请检查섬기는 사람地址和端口";
            break;
        default:
            echo "연결이 실패했습니다,오류 코드: " . $mysqli->connect_errno;
    }
    exit();
}
?>

이 방법은 오류를 정확하게 찾아서 해당 조정을 수행하는 데 도움이 될 수 있습니다.

5. FAQ 및 솔루션

5.1 연결 실패, 오류 코드 2002

이 오류는 일반적으로 도달 할 수없는 데이터베이스 서버 또는 포트 구성 오류로 인해 발생합니다. 솔루션은 다음과 같습니다.

  • MySQL 서버가 실행 중인지 확인하십시오.

  • 네트워크 연결에 문제가 없는지 확인하십시오.

  • M66.net 도메인 이름 해상도가 올바른지 확인하고 액세스를 차단할 방화벽이 없습니다.

5.2 사용자 이름 또는 비밀번호가 올바르지 않습니다. 오류 코드 1045

이 오류는 데이터베이스 연결의 자격 증명이 잘못되었음을 나타냅니다. 솔루션은 다음과 같습니다.

  • 사용자 이름과 비밀번호가 올바른지 확인하십시오.

  • MySQL 사용자가 지정된 데이터베이스에 연결하기에 충분한 권한이 있는지 확인하십시오.

5.3 데이터베이스가 존재하지 않습니다. 오류 코드 1049

이 오류는 요청 된 데이터베이스가 서버에 존재하지 않음을 나타냅니다. 솔루션은 다음과 같습니다.

  • 데이터베이스 이름이 올바른지 확인하십시오.

  • MySQL 서버에서 데이터베이스가 생성되어 있는지 확인하십시오.

6. 요약

mysqli :: $ errnomysqli_options를 사용하면 MySQL 연결 문제를보다 효과적으로 진단하고 해결할 수 있습니다. 이러한 도구를 올바르게 사용하면 적시에 문제를 식별하고 적절한 조치를 취하기 위해 데이터베이스 작업의 안정성과 신뢰성을 보장 할 수 있습니다.