Aktueller Standort: Startseite> Neueste Artikel> Best Practices für die Verwendung von MySQLI :: $ Info mit MySQLI_Error ()

Best Practices für die Verwendung von MySQLI :: $ Info mit MySQLI_Error ()

gitbox 2025-05-29

1. Einführung in MySQLI_Error ()

Mysqli_error () ist eine der bekanntesten Fehlerbehandlungsfunktionen für Entwickler. Seine Funktion besteht darin, einen String zurückzugeben, der den Fehler beschreibt, wenn der Datenbankvorgang fehlschlägt. Zum Beispiel bei der Ausführung einer falschen SQL -Anweisung:

 $mysqli = new mysqli("localhost", "user", "password", "database");

$sql = "SELEC * FROM users"; // Versehentlich geschrieben SELECT
$result = $mysqli->query($sql);

if (!$result) {
    echo "SQL Ausführung fehlgeschlagen: " . mysqli_error($mysqli);
}

Die Ausgabe ist eine solche Fehlermeldung:

 SQL Ausführung fehlgeschlagen: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELEC * FROM users' at line 1

Dies ist hilfreich für die Positionierung von Syntaxfehlern.


2. Mysqli :: $ Info bietet mehr Kontext

Im Gegensatz zu MySQLI_Error () bietet MySQLI :: $ Info weitere Kontextinformationen zu den Ergebnissen der Anweisung, nachdem die SQL -Anweisung erfolgreich ausgeführt wurde. Insbesondere bei der Ausführung von Anweisungen wie Einfügen , Aktualisieren , Löschen usw. kann es Ihnen zeigen, wie viele Zeilen betroffen sind, ob doppelte Zeilen übersprungen werden usw.

Zum Beispiel:

 $mysqli = new mysqli("localhost", "user", "password", "database");

$sql = "UPDATE users SET status='active' WHERE last_login < '2024-01-01'";
$mysqli->query($sql);

echo "Aufpralldetails: " . $mysqli->info;

Mögliche Ausgänge sind ähnlich:

 Aufpralldetails: Rows matched: 3  Changed: 2  Warnings: 0

Dies bedeutet, dass insgesamt 3 Zeilen übereinstimmten, aber tatsächlich nur 2 Zeilen modifiziert wurden.


3.. Best Practices für die Verwendung beider

Bei der Ausführung von SQL -Anweisungen können Sie diese beiden Funktionen gemeinsam verwenden: Wenn die Anweisung fehlschlägt, verwenden Sie mySQLI_Error (), um die Fehlerinformationen zu erhalten. Wenn die Ausführung erfolgreich ist, verwenden Sie MySQLI :: $ Info , um die Ausführungsdetails zu erhalten. Diese Methode eignet sich zum Debuggen, Protokollieren und sogar zur Anzeige von Betriebsergebnissen im Hintergrundverwaltungsfeld.

Eine typische Kapselungsfunktion lautet wie folgt:

 function executeQuery($mysqli, $sql) {
    if ($mysqli->query($sql) === TRUE) {
        return [
            'success' => true,
            'info' => $mysqli->info
        ];
    } else {
        return [
            'success' => false,
            'error' => mysqli_error($mysqli)
        ];
    }
}

Aufrufen Beispiel:

 $response = executeQuery($mysqli, "UPDATE users SET status='inactive' WHERE id IN (1,2,3)");

if ($response['success']) {
    echo "Erfolgreich aktualisieren,Details sind wie folgt:" . $response['info'];
} else {
    echo "Update fehlgeschlagen,Fehlermeldung:" . $response['error'];
}

Ausgabe (zum Erfolg):

 Erfolgreich aktualisieren,Details sind wie folgt:Rows matched: 3  Changed: 3  Warnings: 0

Ausgabe (beim Ausfall):

 Update fehlgeschlagen,Fehlermeldung:Unknown column 'statuz' in 'field list'

4. Beispiele für praktische Anwendungsszenarien

  1. Datenmigrations- und Synchronisationsaufgaben <br> Beim Schreiben einer Vielzahl von Daten ist es sehr wichtig, zu wissen, ob die Daten aktualisiert oder übersprungen werden, um zu beurteilen, ob die Aufgabe erfolgreich ist oder nicht.

  2. Backstage -Protokollsystem <br> <br> Für Administratoren ist es nicht nur erforderlich zu wissen, ob eine Operation erfolgreich ist oder fehlschlägt, sondern auch die spezifische Anzahl von Datensätzen, die sich auf sie auswirken.

  3. Automatisierte Tests <br> Wenn erwartet wird, dass bestimmte Zeilen beeinflussen, kann die Verwendung dieser beiden Funktionen in Kombination die Richtigkeit von SQL -Anweisungen überprüfen.