Aktueller Standort: Startseite> Neueste Artikel> Implementierungsmethode zur Ausgabe des Ergebniss von MySQLI :: Debugug in die Webseite Front-End

Implementierungsmethode zur Ausgabe des Ergebniss von MySQLI :: Debugug in die Webseite Front-End

M66 2025-06-04

Bei Verwendung von MySQL -Datenbanken in PHP bietet die MySQLI -Erweiterung ein sehr nützliches Debugging -Tool - MySQLI :: Debug . Dadurch können Entwickler detaillierte Informationen zu Datenbankabfragen erhalten, die bei der Fehlerbehebung bei Problemen und der Optimierung von Datenbankvorgängen beitragen. In diesem Artikel wird erläutert, wie die Debugging -Informationen von MySQLI :: Debugg am vorderen Ende der Webseite angezeigt werden.

1. Was ist Mysqli :: Debugg ?

MySQLI :: Debug ist eine statische Methode der MySQLI -Klasse, mit der die Debug -Informationen der aktuellen Datenbankverbindung ausgedruckt werden können. Diese Informationen umfassen ausgeführte SQL -Abfragen, den Ausführungsplan der Abfrage, den Status der Datenbankverbindung usw. Diese Informationen sind sehr nützlich für Entwickler, insbesondere wenn komplexe SQL -Abfragen debuggen.

Beispielsweise gibt der folgende Code detaillierte Informationen zum aktuellen Datenbankvorgang aus:

 mysqli::debug("d:t"); // Hier "d:t" Wird verwendet, um die Debug -Ausgabe zu aktivieren

Standardmäßig werden die Informationen von MySQLI :: Debugg jedoch zum PHP -Fehlerprotokoll ausgegeben. Wenn Sie diese Debugging -Informationen direkt am vorderen Ende der Webseite anzeigen möchten, erklären Sie Folgendes, wie dies erreicht werden kann.

2. Wie kann ich MySQLI :: Debug -Ausgabe bis zum vorderen Ende der Webseite anzeigen?

Um MySQLI :: Debug -Ausgabe am vorderen Ende der Webseite anzuzeigen, müssen wir die folgenden Schritte ausführen:

Schritt 1: Aktivieren Sie MySQLI :: Debugg

Zunächst müssen wir sicherstellen, dass MySQLI :: Debugg aktiviert ist und Debug -Informationen ausgeben kann.

 // Aktivieren Sie die Debug -Ausgabe
mysqli::debug("d:t");

Schritt 2: Holen Sie sich Debug -Informationen und zeigen Sie sie an

Die Debug -Informationsausgabe über MySQLI :: Debug wird standardmäßig direkt im PHP -Fehlerprotokoll angezeigt. Um sie jedoch bis zum vorderen Ende der Webseite anzuzeigen, müssen wir eine Ausgabepuffermethode verwenden, um die Debug -Informationen auf der Webseite zu erfassen und zu drucken.

 <?php
// Ausgangspufferung starten
ob_start();

// Stellen Sie eine Verbindung zur Datenbank her
$mysqli = new mysqli('localhost', 'username', 'password', 'database_name');

// Aktivieren Sie die Debug -Ausgabe
mysqli::debug("d:t");

// Sie können Datenbankabfragevorgänge ausführen
$query = "SELECT * FROM users WHERE id = 1";
$result = $mysqli->query($query);

// Holen Sie sich Debug -Informationen
$debug_info = ob_get_contents();

// Ausschalten der Ausgangspufferung ausschalten
ob_end_clean();

// Ausgabe von Debug -Informationen auf der Webseite
echo '<pre>' . htmlspecialchars($debug_info) . '</pre>';
?>

Der obige Code erledigt mehrere wichtige Schritte:

  1. ob_start () startet die Ausgangspufferung. Die gesamte Ausgabe wird vorübergehend gespeichert und nicht sofort dem Browser angezeigt.

  2. Nachdem MySQLI :: Debug ("D: T") eine Verbindung zur Datenbank hergestellt und die Abfrage ausgeführt hat, schreibt er Debug -Informationen an den Ausgabebuffer.

  3. Ob_get_Contents () erfasst alle Ausgabeinformationen im Puffer und speichert sie der Variablen $ debug_info .

  4. OB_END_CLEAN () schließt die Ausgabepufferung, um zu verhindern, dass die Informationen wiederholt ausgeben.

  5. Schließlich formatieren wir die Debugging -Informationen mit dem <pre> -Tag über die Echo -Funktion und geben sie auf die Webseite aus.

3. Wie kann man das Format der Ausgabedebugging -Informationen anpassen?

Um Debug -Informationen klarer und einfacher auf Webseiten zu lesen, können Sie den Stil der Debug -Informationen mithilfe von HTML und CSS anpassen. Hier ist ein einfaches Beispiel:

 <?php
// Ausgangspufferung starten
ob_start();

// Stellen Sie eine Verbindung zur Datenbank her
$mysqli = new mysqli('localhost', 'username', 'password', 'database_name');

// Aktivieren Sie die Debug -Ausgabe
mysqli::debug("d:t");

// Abfragebetriebe durchführen
$query = "SELECT * FROM users WHERE id = 1";
$result = $mysqli->query($query);

// Holen Sie sich Debug -Informationen
$debug_info = ob_get_contents();

// Ausschalten der Ausgangspufferung ausschalten
ob_end_clean();

// Formatinformatinformationen auf der Webseite format und diese ausgeben
echo '<div style="background-color: #f4f4f4; border: 1px solid #ccc; padding: 10px;">';
echo '<h3>Informationen debuggen:</h3>';
echo '<pre style="font-size: 14px; color: #333; background-color: #f8f8f8; padding: 15px; border: 1px dashed #ddd;">' . htmlspecialchars($debug_info) . '</pre>';
echo '</div>';
?>

Dieser Ansatz lässt Debug -Informationen auf der Webseite ein ordentlicher Aussehen aussehen und erleichtert das Lesen mit einem benutzerdefinierten CSS -Stil.

4.. Dinge zu beachten

  • Die Informationen, die von MySQLI :: Debug ausgeben, können sensible Datenbankinformationen enthalten. Verwenden Sie sie daher unbedingt mit Vorsicht in Produktionsumgebungen. In einer Produktionsumgebung ist es am besten, die Debug -Output zu deaktivieren oder zu begrenzen.

  • Stellen Sie beim Debugieren von Informationen zum vorderen Ende der Webseite sicher, dass keine sensiblen Daten durchgesickert sind, insbesondere Parameter oder Datenbank -Benutzername und Kennwort in SQL -Abfragen.

  • Das Debuggen von Informationen kann sehr groß sein. Wenn die Datenmenge also zu groß ist, können Sie die Informationen in einer Protokolldatei speichern, anstatt sie direkt auf eine Webseite auszugeben.

5. Schlussfolgerung

Durch Aktivieren von MySQLI :: Debuggen und Verwendung der Ausgabepufferung können wir detaillierte Debug -Informationen für MySQL -Datenbankvorgänge bis zum vorderen Ende der Webseite anzeigen, was für die Entwicklung und Debugging sehr hilfreich ist. Denken Sie daran, bevor es offiziell gestartet wird, sollten Sie die Debugging -Funktion deaktivieren, um die Verletzung sensibler Informationen zu verhindern.