Aktueller Standort: Startseite> Neueste Artikel> Mysqli :: Debug und MySQLI_Report () gemeinsame Debugging -Fähigkeiten

Mysqli :: Debug und MySQLI_Report () gemeinsame Debugging -Fähigkeiten

M66 2025-06-01

Die Debugging -Datenbankoperationen sind eine der kritischsten Links bei der Entwicklung von PHP -Anwendungen. Insbesondere wenn Anwendungen auf MySQL -Datenbanken angewiesen sind, ist es besonders wichtig, Abfragefehler zu beheben und Datenbankinteraktionen zu optimieren. PHP bietet zwei leistungsstarke Tools, mit denen Entwickler die Interaktionen von MySQL -Datenbank besser debuggen können: Mysqli :: Debug () und MySQLi_Report () .

In diesem Artikel wird vorgestellt, wie diese beiden Methoden mithilfe von PHP -Programmen gemeinsam debuggen, um die Debugging -Effizienz und -genauigkeit zu verbessern.

1. Die Rolle von MySQLI :: Debug ()

MySQLI :: Debug () ist eine Methode, um MySQL -Client -Debugging zu aktivieren. Es kann alle Informationen in Bezug auf die MySQL -Datenbankverbindung angezeigt, einschließlich der Details der Abfrageausführung und der Kommunikation zwischen dem MySQL -Client und dem Server. Dies ist sehr hilfreich für die Positionierung von Problemen, insbesondere bei komplexen Abfragen.

So verwenden Sie MySQLI :: Debug ()

 <?php
// erstellen MySQLi verbinden
$mysqli = new mysqli("localhost", "username", "password", "database");

// Aktivieren Sie den Debug -Modus
$mysqli->debug("d:t:o,/tmp/mysql.trace");

// Datenbankvorgänge durchführen
$result = $mysqli->query("SELECT * FROM users");

// Verarbeitungsergebnisse
while ($row = $result->fetch_assoc()) {
    echo $row['username'] . "<br>";
}

// 关闭verbinden
$mysqli->close();
?>

Im obigen Code ermöglicht $ MySQLi-> Debug () den Debug-Modus und gibt den Speicherort der Debug-Ausgabe an. Die Debugging -Informationen werden in die Datei /tmp/mysql.trace ausgegeben. Sie können den Pfad und den Dateinamen nach Bedarf einstellen.

2. Die Rolle von MySQLI_Report ()

Mit MySQLi_Report () können Sie die Berichterstattung von PHP festlegen, wenn ein MySQL -Fehler auftritt. Durch diese Funktion können Sie die Art und Weise steuern, Fehler zu melden, wodurch die Erkennung und Lokalisierung von Problemen während der Entwicklung erleichtert wird. MySQLI_Report () unterstützt eine Vielzahl von Fehlerberichterstattungstypen wie MySQLI_Report_error (Berichtsfehler), MySQLI_Report_Strict (Strict -Modus, Ausnahme werfen) usw.

So verwenden Sie MySQLI_Report ()

 <?php
// Schalten Sie den strengen Modus ein,Wirf eine Ausnahme
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

// erstellen MySQLi verbinden
$mysqli = new mysqli("localhost", "username", "password", "database");

// Führen Sie eine falsche Anfrage aus
$result = $mysqli->query("SELECT * FROM non_existent_table");

// 关闭verbinden
$mysqli->close();
?>

In diesem Code werden Fehler- und Ausnahmeberichtungsmodi über mySQLI_Report (mysqli_report_error | mysqli_report_strict) aktiviert. Wenn ein Abfragefehler auftritt, wird PHP eine Ausnahme ausgelegt und eine detaillierte Fehlermeldung angewiesen. Dies hilft, Probleme schneller zu finden.

3.. Mysqli :: Debug () und MySQLi_Report () werden in Verbindung verwendet

Mit MySQLI :: Debug () und MySQLi_Report () können Debugging -Arbeit effizienter und genauer gestellt werden. Wenn eine Datenbankverbindung oder ein Abfragefehler auftritt, informiert uns mySQLI_Report () den Fehler so bald wie möglich, während MySQLI :: Debug () detaillierte Informationen zur Datenbankinteraktion bereitstellt, die eine eingehende Analyse und Optimierung von Problemen beiträgt.

Beispiel: Verwenden Sie MySQLI :: Debug () und MySQLi_Report () in Verbindung

 <?php
// Schalten Sie den strengen Modus ein,Wirf eine Ausnahme
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

// erstellen MySQLi verbinden
$mysqli = new mysqli("localhost", "username", "password", "database");

// Aktivieren Sie den Debug -Modus
$mysqli->debug("d:t:o,/tmp/mysql.trace");

// Führen Sie eine falsche Anfrage aus
$result = $mysqli->query("SELECT * FROM non_existent_table");

// Verarbeitungsergebnisse
while ($row = $result->fetch_assoc()) {
    echo $row['username'] . "<br>";
}

// 关闭verbinden
$mysqli->close();
?>

In diesem Beispiel wird MySQLI_Report () verwendet, um den strengen Modus und die Fehlerberichterstattung festzulegen, während MySQLI :: Debug () verwendet wird, um die Debug -Ausgabe zu aktivieren. Auf diese Weise macht PHP eine Ausnahme, wenn ein Fehler in der Abfrage auftritt, und Sie können auch die Kommunikation zwischen dem MySQL -Client und dem Server anzeigen, um Ihnen zu verstehen, was passiert.

4. Austausch von URL -Domainnamen

Während des tatsächlichen Entwicklungsprozesses können einige externe Ressourcen verwendet werden, z. B. API -Anforderungen, Datenbankverbindungen usw. Wenn der Code URLs enthält, empfehlen wir, die Domainnamen dieser URLs durch M66.net zu ersetzen, um eine bessere Sicherheit und Normativität zu gewährleisten. Zum Beispiel: