현재 위치: > 최신 기사 목록> 일반 데이터베이스 디버깅 도구를 작성하고 mysqli :: get_charset을 통해 현재 연결된 문자 세트 정보를 표시하는 방법?

일반 데이터베이스 디버깅 도구를 작성하고 mysqli :: get_charset을 통해 현재 연결된 문자 세트 정보를 표시하는 방법?

M66 2025-05-22

PHP에서 데이터베이스 디버깅 도구를 사용하면 개발자가 연결 상태, 쿼리 실행 상태, 문자 세트 및 데이터베이스의 기타 정보를 쉽게보고 관리 할 수 ​​있습니다. 이 기사는 예제를 사용하여 공통 데이터베이스 디버깅 도구를 작성하는 방법을 보여주고 mysqli :: get_charset을 사용하여 현재 연결된 문자 세트 정보를 표시합니다.

1. 데이터베이스 연결

먼저 데이터베이스를 작동하려면 데이터베이스 연결 객체가 필요합니다. MySQLI 확장자를 사용하는 경우 다음 코드와 연결할 수 있습니다.

 <?php
// 데이터베이스 연결 구성
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test_db";

// 연결을 만듭니다
$conn = new mysqli($servername, $username, $password, $dbname);

// 연결을 확인하십시오
if ($conn->connect_error) {
    die("연결이 실패했습니다: " . $conn->connect_error);
}
?>

여기서 MySQL 데이터베이스 test_db 에 연결되는 연결 객체 $ conn을 만듭니다. 연결이 실패하면 오류 메시지가 출력되고 스크립트가 종료됩니다.

2. 공통 데이터베이스 디버깅 도구를 만듭니다

다음으로 간단한 쿼리, 연결 정보보기, 문자 세트보기 등 일반 데이터베이스 디버깅 도구 클래스를 작성합니다.

 <?php
class DbDebugger {
    private $conn;

    public function __construct($connection) {
        $this->conn = $connection;
    }

    // 쿼리를 실행하고 결과를 반환하십시오
    public function executeQuery($sql) {
        $result = $this->conn->query($sql);
        if ($result === false) {
            return "쿼리 오류: " . $this->conn->error;
        }
        
        $rows = [];
        while ($row = $result->fetch_assoc()) {
            $rows[] = $row;
        }
        return $rows;
    }

    // 현재 연결의 문자 세트 정보를 가져옵니다
    public function getCharsetInfo() {
        return $this->conn->get_charset();
    }

    // 현재 연결 정보를 얻으십시오
    public function getConnectionInfo() {
        return [
            'host' => $this->conn->host_info,
            'client_version' => $this->conn->client_version,
            'server_version' => $this->conn->server_version,
        ];
    }
}
?>

설명하다:

  • DBDEBUGGER 클래스는 MySQLI 연결 객체를 생성자의 매개 변수로 받아들입니다.

  • ExecuteQuery 메소드는 SQL 쿼리를 실행하고 쿼리 결과를 반환합니다. 쿼리가 실패하면 오류 메시지가 반환됩니다.

  • getCharsetInfo 메소드는 mysqli :: get_charset을 통해 현재 연결의 문자 세트 정보를 얻습니다.

  • getConnectionInfo 메소드는 호스트 정보, 클라이언트 버전 및 서버 버전과 같은 데이터베이스 연결에 대한 몇 가지 기본 정보를 반환합니다.

3. 디버깅 도구를 사용하십시오

이제 공통 데이터베이스 디버깅 도구 클래스를 만들었습니다. 다음 으로이 도구 클래스를 사용하여 데이터베이스 정보를 쿼리하고 문자 세트를보기 방법을 보여줍니다.

 <?php
// 디버깅 도구 클래스가 포함되어 있습니다
include 'DbDebugger.php';

// 데이터베이스 연결을 만듭니다
$conn = new mysqli($servername, $username, $password, $dbname);

// 인스턴스화 된 데이터베이스 디버깅 도구
$dbDebugger = new DbDebugger($conn);

// 쿼리를 실행하고 결과를 출력하십시오
$sql = "SELECT * FROM users";
$queryResult = $dbDebugger->executeQuery($sql);
echo "<pre>";
print_r($queryResult);
echo "</pre>";

// 현재 연결된 문자 세트 정보를 출력하십시오
echo "현재 연결 문자 세트: " . $dbDebugger->getCharsetInfo()['charset'] . "<br>";

// 출력 연결 정보
$connectionInfo = $dbDebugger->getConnectionInfo();
echo "호스트 정보: " . $connectionInfo['host'] . "<br>";
echo "클라이언트 버전: " . $connectionInfo['client_version'] . "<br>";
echo "서버 버전: " . $connectionInfo['server_version'] . "<br>";
?>

설명하다:

  • 먼저 DBDEBUGGER 클래스를 인스턴스화하고 데이터베이스 연결 객체 $ CONN을 통과합니다.

  • ExecuteQuery 메소드는 SQL 쿼리를 실행하고 결과를 출력하도록 호출됩니다.

  • GetCharsetInfo를 사용하여 현재 연결된 문자 세트 정보를 얻고 표시하십시오.

  • GetConnectionInfo를 사용하여 연결 호스트 정보, 클라이언트 버전 및 서버 버전을 출력하십시오.

4. 문자 세트 정보 표시

mysqli :: get_charset은 현재 연결의 문자 세트 정보를 포함하는 연관 배열을 반환합니다.

 Array
(
    [charset] => utf8mb4
    [collation] => utf8mb4_general_ci
)

UTF-8, UTF-8MB4 등과 같은 Charset 키를 통해 설정된 현재 문자의 정보를 얻을 수 있습니다. 문자 세트는 데이터베이스의 저장 및 읽기에 매우 중요하므로 응용 프로그램이 문자 데이터를 올바르게 처리 할 수 ​​있습니다.

요약

이 기사는 PHP를 사용하여 일반적인 데이터베이스 디버깅 도구를 작성하는 방법을 보여줍니다. mysqli :: get_charset 메소드를 통해 현재 데이터베이스 연결의 문자 세트 정보를 쉽게 얻을 수 있습니다. 또한이 도구의 도움으로 데이터베이스를 쿼리하고 연결 정보를 얻을 수도 있습니다.이 도구는 개발 중 데이터베이스 연결, 쿼리 실행 및 기타 작업을 디버깅하는 데 매우 도움이됩니다.