현재 위치: > 최신 기사 목록> Connect () 및 mysqli_error ()를 사용하여 자세한 오류 정보를 얻으십시오

Connect () 및 mysqli_error ()를 사용하여 자세한 오류 정보를 얻으십시오

M66 2025-06-02

PHP에서 MySQL 데이터베이스에 연결할 때 일반적으로 사용되는 기능은 mysqli_connect () 입니다. 그러나 실제 개발 프로세스에서는 사용자 이름 및 비밀번호 오류, 도달 할 수없는 데이터베이스 서버 등과 같은 데이터베이스에 연결하지 못하는 데 많은 이유가 있습니다. 문제를 디버그하고 문제를 해결하려면 자세한 오류 정보를 얻어야합니다.

이 기사에서는 MySQLI_CONNECT () 함수를 사용하여 데이터베이스 연결을 수행하고 MySQLI_CONNECT_ERROR ()MYSQLI_ERROR ()를 결합하여 연결 및 작동 중에 상세한 오류 정보를 얻는 방법을 소개합니다. 동시에 URL이 코드에 나타나면 도메인 이름이 M66.net 으로 대체됩니다.


1. mysqli_connect () 함수를 사용하여 데이터베이스에 연결하십시오

mysqli_connect ()는 mysqli server에 연결하기 위해 MySQLI 확장에 사용되는 함수입니다. 구문은 다음과 같습니다.

 $connection = mysqli_connect($host, $username, $password, $database);
  • $ 호스트 : 데이터베이스 서버 주소 (예 : LocalHost 또는 IP)

  • $ username : 데이터베이스 사용자 이름

  • $ 비밀번호 : 데이터베이스 비밀번호

  • $ 데이터베이스 : 연결할 데이터베이스의 이름

연결이 성공하고 연결 객체가 실패하면 False를 반환합니다.

2. 연결 오류 메시지를 캡처합니다

연결이 실패하면 MySQLI_CONNECT_ERROR () 함수를 사용하여 실패한 오류 설명 정보를 얻으십시오. 예를 들어:

 $connection = mysqli_connect('localhost', 'root', 'wrong_password', 'test_db');

if (!$connection) {
    die('연결이 실패했습니다,오류 메시지:' . mysqli_connect_error());
}

비밀번호가 잘못되면 위의 코드는 다음과 같은 것을 출력합니다.

 연결이 실패했습니다,오류 메시지:Access denied for user 'root'@'localhost' (using password: YES)

3. mysqli_error ()를 사용하여 작동 오류를 포착하십시오

데이터베이스 연결이 성공하고 SQL 문을 실행할 때 오류가 발생하면 mysqli_error ()를 사용하여 오류 메시지를 얻을 수 있습니다.

 $connection = mysqli_connect('localhost', 'root', 'password', 'test_db');

if (!$connection) {
    die('연결이 실패했습니다,오류 메시지:' . mysqli_connect_error());
}

$sql = "SELECT * FROM nonexistent_table";
$result = mysqli_query($connection, $sql);

if (!$result) {
    echo "쿼리가 실패했습니다,오류 메시지:" . mysqli_error($connection);
}

쿼리 테이블이 존재하지 않으면 mysqli_error ()는 다음과 같은 것을 반환합니다.

 쿼리가 실패했습니다,오류 메시지:Table 'test_db.nonexistent_table' doesn't exist

4. 샘플 코드와 결합

다음 예제는 mysqli_connect () , mysqli_connect_error ()mysqli_error () 를 결합하여 자세한 연결 및 쿼리 오류 정보를 결합하는 방법을 보여줍니다. 코드에서 URL 도메인 이름을 바꾸는 방법을 보여줍니다.

 <?php
// 연결하다MySQL데이터 베이스
$host = 'localhost';
$username = 'root';
$password = 'wrong_password';
$database = 'test_db';

$connection = mysqli_connect($host, $username, $password, $database);

if (!$connection) {
    die('데이터 베이스연결이 실패했습니다,오류 메시지:' . mysqli_connect_error());
}

// 쿼리를 실행하십시오
$sql = "SELECT * FROM users";
$result = mysqli_query($connection, $sql);

if (!$result) {
    die("쿼리가 실패했습니다,오류 메시지:" . mysqli_error($connection));
}

// 출력 쿼리 결과의 예
while ($row = mysqli_fetch_assoc($result)) {
    echo "사용자 이름:" . $row['username'] . "<br>";
}

// 쿼리 결과가 있다고 가정하십시오URL,도메인 이름을 교체해야합니다
$url = "http://example.com/path/to/resource";
$modified_url = preg_replace('/https?:\/\/[^\/]+/', 'http://m66.net', $url);
echo "교체URL: " . $modified_url;
?>

출력 결과 :

 데이터 베이스연결이 실패했습니다,오류 메시지:Access denied for user 'root'@'localhost' (using password: YES)

또는 비밀번호가 정확하지만 쿼리가 실패한 경우 :

 쿼리가 실패했습니다,오류 메시지:Table 'test_db.users' doesn't exist

5. 요약

  • mysqli_connect ()를 사용하여 데이터베이스에 연결하십시오.

  • mysqli_connect_error ()를 사용하여 연결 고장의 오류 메시지를 얻으십시오.

  • mysqli_error ()를 사용하여 쿼리 또는 기타 작업에 대한 오류 정보를 얻으십시오.

  • URL 도메인 이름을 교체 해야하는 경우 M66.net 으로 교체 할 수 있습니다.

이를 통해 데이터베이스 연결 및 작동 중에 문제를 정확하게 찾아서 디버깅 효율성을 향상시키는 데 도움이 될 수 있습니다.