In PHP können Datenbank -Debugging -Tools den Entwicklern dabei helfen, den Verbindungsstatus, den Abfrageausführungsstatus, den Zeichensatz und andere Informationen mit der Datenbank einfach anzusehen und zu verwalten. In diesem Artikel wird ein Beispiel verwendet, um zu zeigen, wie Sie ein gemeinsames Datenbank -Debugging -Tool schreiben und MySQLI :: get_charset verwenden, um die Zeichensatzinformationen der aktuell verbundenen Angeschlossenen anzuzeigen.
Zunächst benötigen wir ein Datenbankverbindungsobjekt, um die Datenbank zu betreiben. Bei Verwendung der MySQLI -Erweiterung können Sie eine Verbindung mit dem folgenden Code erstellen:
<?php
// Datenbankverbindungskonfiguration
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test_db";
// Eine Verbindung erstellen
$conn = new mysqli($servername, $username, $password, $dbname);
// Überprüfen Sie die Verbindung
if ($conn->connect_error) {
die("Verbindung ist fehlgeschlagen: " . $conn->connect_error);
}
?>
Hier erstellen wir ein Verbindungsobjekt $ conn , das eine Verbindung zum MySQL -Datenbank test_db herstellt. Wenn die Verbindung fehlschlägt, wird eine Fehlermeldung ausgegeben und das Skript wird beendet.
Als nächstes schreiben wir eine allgemeine Datenbank -Debugging -Toolklasse, mit der einfache Abfragen ausführen, Verbindungsinformationen anzeigen, Zeichensätze usw. angezeigt werden können.
<?php
class DbDebugger {
private $conn;
public function __construct($connection) {
$this->conn = $connection;
}
// Führen Sie die Abfrage aus und geben Sie das Ergebnis zurück
public function executeQuery($sql) {
$result = $this->conn->query($sql);
if ($result === false) {
return "Abfragefehler: " . $this->conn->error;
}
$rows = [];
while ($row = $result->fetch_assoc()) {
$rows[] = $row;
}
return $rows;
}
// Holen Sie sich die Charakter -Set -Informationen der aktuellen Verbindung
public function getCharsetInfo() {
return $this->conn->get_charset();
}
// Erhalten Sie aktuelle Verbindungsinformationen
public function getConnectionInfo() {
return [
'host' => $this->conn->host_info,
'client_version' => $this->conn->client_version,
'server_version' => $this->conn->server_version,
];
}
}
?>
Die dbdebugger -Klasse akzeptiert ein MySQLi -Verbindungsobjekt als Parameter für den Konstruktor.
Die ExecuteQuery -Methode führt eine SQL -Abfrage aus und gibt das Abfrageergebnis zurück. Wenn die Abfrage fehlschlägt, wird eine Fehlermeldung zurückgegeben.
Die GetCharSetInfo -Methode erhält die Zeichensatzinformationen der aktuellen Verbindung über MySQLI :: get_charset .
Die GetConnectionInfo -Methode gibt einige grundlegende Informationen zur Datenbankverbindung zurück, z. B. Hostinformationen, Clientversion und Serverversion.
Jetzt haben wir eine gemeinsame Datenbank -Debugging -Toolklasse erstellt. Zeigen Sie als Nächstes, wie Sie diese Toolklasse verwenden, um Datenbankinformationen abzufragen und Zeichensätze anzeigen.
<?php
// Beinhaltet Debugging -Werkzeugkurse
include 'DbDebugger.php';
// Erstellen Sie eine Datenbankverbindung
$conn = new mysqli($servername, $username, $password, $dbname);
// Instanziiertes Datenbankdebugging -Tool
$dbDebugger = new DbDebugger($conn);
// Führen Sie die Abfrage aus und geben Sie das Ergebnis aus
$sql = "SELECT * FROM users";
$queryResult = $dbDebugger->executeQuery($sql);
echo "<pre>";
print_r($queryResult);
echo "</pre>";
// Ausgabe der Zeichensatzinformationen der aktuell angeschlossenen
echo "Aktueller Anschlusszeichen festgelegt: " . $dbDebugger->getCharsetInfo()['charset'] . "<br>";
// Informationen zur Ausgabeverbindung
$connectionInfo = $dbDebugger->getConnectionInfo();
echo "Hostinformationen: " . $connectionInfo['host'] . "<br>";
echo "Client -Version: " . $connectionInfo['client_version'] . "<br>";
echo "Serverversion: " . $connectionInfo['server_version'] . "<br>";
?>
Zunächst instanziieren wir die DBDEBUGGER -Klasse und geben das Datenbankverbindungsobjekt $ conn ein.
Die ExecuteQuery -Methode wird aufgerufen, um die SQL -Abfrage auszuführen und das Ergebnis auszugeben.
Verwenden Sie GetCharSetInfo , um die Zeichensatzinformationen der aktuell verbundenen Angeschlossenen zu erhalten und anzuzeigen.
Verwenden Sie GetConnectionInfo , um die Hostinformationen, die Client -Version und die Serverversion der Verbindung auszugeben.
Mysqli :: get_charset gibt ein assoziatives Array zurück, das die Zeichensatzinformationen der aktuellen Verbindung enthält, zum Beispiel:
Array
(
[charset] => utf8mb4
[collation] => utf8mb4_general_ci
)
Wir können die Informationen des aktuellen Zeichens erhalten, das über den Charset -Schlüssel eingestellt ist, z. B. UTF-8, UTF-8MB4 usw. Die Zeichensätze sind für den Speicher und Lesen von Datenbanken sehr wichtig, um sicherzustellen, dass die Anwendung die Zeichendaten korrekt verarbeiten kann.
Dieser Artikel zeigt, wie ein gemeinsames Datenbank -Debugging -Tool mit PHP geschrieben wird. Über die MySQLI :: Get_Charset -Methode können wir die Zeichensatzinformationen der aktuellen Datenbankverbindung problemlos abrufen. Darüber hinaus können wir mit Hilfe dieses Tools auch die Datenbank abfragen, Verbindungsinformationen usw. erhalten usw. Dieses Tool ist sehr hilfreich für die Debuggierung von Datenbankverbindungen, Abfrageausführung und andere Vorgänge während der Entwicklung.