Aktueller Standort: Startseite> Neueste Artikel> Drucken Sie das vollständige Fehlerprotokoll mit $ mysqli-> errno und $ mysqli-> fehler

Drucken Sie das vollständige Fehlerprotokoll mit $ mysqli-> errno und $ mysqli-> fehler

M66 2025-05-28
  • : Diese Eigenschaft gibt den Fehlercode für die letzte MySQL -Operation zurück. Wenn kein Fehler auftritt, gibt es 0 zurück.

  • MySQLI :: $ ERROR : Diese Eigenschaft gibt die Fehlerbeschreibungsinformationen der letzten MySQL -Operation zurück. Wenn kein Fehler auftritt, gibt es eine leere Zeichenfolge zurück.

Diese beiden Eigenschaften sind für Entwickler sehr nützlich, wenn Datenbankprobleme debuggen und genügend Fehlerinformationen bereitstellen, um herauszufinden, wo das Problem liegt.

2. Fehlerdebuggen beim Anschließen mit der Datenbank

Die Datenbankverbindung ist der erste Schritt bei der Interaktion mit einem MySQL -Server. Wenn die Datenbankverbindung fehlschlägt, wird sie normalerweise durch einen Fehler in der Serveradresse, Benutzername, Kennwort oder Datenbankname verursacht. Mit MySQLI :: $ Errno und MySQLI :: $ ERROR kann uns helfen, bestimmte Fehlerinformationen zu verstehen.

Hier ist ein Beispielcode, der zeigt, wie diese beiden Eigenschaften verwendet werden, um Verbindungsfehler zu fangen und zu drucken:

 <?php
// Stellen Sie die Datenbankverbindungsparameter fest
$servername = "m66.net";
$username = "root";
$password = "password";
$dbname = "test_db";

// erstellen MySQLi verbinden
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查verbinden是否成功
if ($conn->connect_error) {
    echo "verbinden失败: " . $conn->connect_errno . " - " . $conn->connect_error;
    exit();
}

echo "verbinden成功!";
$conn->close();
?>

In diesem Code verwenden wir Connect_error , um zu überprüfen, ob ein Verbindungsproblem vorliegt, und bestimmte Fehlerinformationen über Connect_errno und Connect_error ausdrucken.

3. Fehlerdebuggen bei der Ausführung von Abfragen

Wenn die Datenbankverbindung erfolgreich ist, bei der Ausführung der SQL -Abfrage jedoch ein Fehler auftritt, können Sie MySQLI :: $ Errno und MySQLI :: $ ERROR verwenden, um den Abfragefehler zu fangen. Hier ist ein Beispiel für einen Abfragefehler:

 <?php
// Stellen Sie die Datenbankverbindungsparameter fest
$servername = "m66.net";
$username = "root";
$password = "password";
$dbname = "test_db";

// erstellen MySQLi verbinden
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查verbinden是否成功
if ($conn->connect_error) {
    echo "verbinden失败: " . $conn->connect_errno . " - " . $conn->connect_error;
    exit();
}

// Eine Frage ausführen
$sql = "SELECT * FROM non_existent_table"; // Angenommen, diese Tabelle existiert nicht
$result = $conn->query($sql);

// Überprüfen Sie, ob die Abfrage erfolgreich ist
if (!$result) {
    echo "Abfrage fehlgeschlagen: " . $conn->errno . " - " . $conn->error;
}

$conn->close();
?>

In diesem Beispiel haben wir absichtlich eine Abfrage für eine nicht existierende Tabelle ausgeführt, wodurch die Abfrage fehlschlug. Verwenden Sie ERRNO und Fehler , um bestimmte Fehlercodes und Fehlerbeschreibungen auszudrucken.

4. Fehlerprotokollausgabe und Formatierung

In der tatsächlichen Entwicklung erfordern Fehlermeldungen möglicherweise eine detailliertere Protokollierung für die spätere Analyse und Debuggen. Durch Ausgabe von Fehlermeldungen in ein Datei- oder Protokollverwaltungssystem ist es einfacher, Probleme zu verfolgen. Hier ist ein Beispiel für Protokollierungsfehlermeldungen in eine Datei:

 <?php
// Stellen Sie die Datenbankverbindungsparameter fest
$servername = "m66.net";
$username = "root";
$password = "password";
$dbname = "test_db";

// erstellen MySQLi verbinden
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查verbinden是否成功
if ($conn->connect_error) {
    // Schreiben Sie Fehlerinformationen, um die Datei zu protokollieren
    error_log("verbinden失败: " . $conn->connect_errno . " - " . $conn->connect_error, 3, "error_log.txt");
    exit();
}

// Eine Frage ausführen
$sql = "SELECT * FROM non_existent_table"; // Angenommen, diese Tabelle existiert nicht
$result = $conn->query($sql);

// Überprüfen Sie, ob die Abfrage erfolgreich ist
if (!$result) {
    // Schreiben Sie Fehlerinformationen, um die Datei zu protokollieren
    error_log("Abfrage fehlgeschlagen: " . $conn->errno . " - " . $conn->error, 3, "error_log.txt");
}

$conn->close();
?>

In diesem Beispiel verwenden wir die Funktion "ERROR_LOG" , um die Fehlerinformationen in die Datei "ERROR_LOG.TXT" zu schreiben. Auf diese Weise können Sie diese Protokolldatei in der späteren Phase anzeigen, was für Probleme bei der Fehlerbehebung geeignet ist.

5. Zusammenfassung

Die Verwendung der MySQLI :: $ Errno und MySQLI :: $ ERROR -Eigenschaften können uns helfen, detaillierte MySQL -Fehlermeldungen in PHP zu erfassen und zu drucken. Dies ist sehr hilfreich, um Datenbankverbindungsprobleme und Abfragefehler zu debuggen. Indem wir diese Eigenschaften vernünftigerweise verwenden, können wir schnell Probleme lokalisieren und beheben, wodurch die Entwicklungseffizienz verbessert wird.

Ich hoffe, dieser Artikel hilft Ihnen, zu verstehen, wie diese beiden Eigenschaften für das Debuggen von Fehler in MySQL -Datenbankoperationen effektiv verwendet werden können.