Aktueller Standort: Startseite> Neueste Artikel> Mysqli :: Multi_query behandelt Multi-Statement-Ausführungsfehler mit $ errno

Mysqli :: Multi_query behandelt Multi-Statement-Ausführungsfehler mit $ errno

M66 2025-05-28

Wenn wir in PHP MySQL -Datenbanken verwenden, bietet die MySQLI -Erweiterung eine umfassende Funktionalität, um Datenbankvorgänge zu verarbeiten. Vor allem bei der Ausführung mehrerer SQL -Anweisungen sind die MySQLI :: Multi_Query -Methode und das Attribut von MySQLi :: $ errno sehr wichtige Werkzeuge. In diesem Artikel wird detailliert erklärt, wie man beides verwendet wird, um Fehler effektiv zu behandeln, die während der Ausführung von Mehrfachbeamten auftreten können.

1. Was sind MySQLI :: Multi_query und MySQLI :: $ Errno ?

  1. Mysqli :: Multi_Query :
    Multi_Query ist eine Methode in der MySQLI -Klasse, die eine Abfrage mit mehreren SQL -Anweisungen ausführt. Es kann mehrere Anweisungen gleichzeitig ausführen und das Ergebnis zurückgeben. Normalerweise verwenden wir es bei der Ausführung mehrerer Abfragen, insbesondere wenn es sich um Transaktionen oder Stapelinsertionen handelt.

     $mysqli->multi_query("SQLStellungnahme1; SQLStellungnahme2; SQLStellungnahme3;");
    
  2. Mysqli :: $ errno :
    Das Errno -Attribut repräsentiert den Fehlercode, der durch die vorherige MySQL -Operation generiert wird. Wenn bei der Ausführung einer SQL-Abfrage ein Fehler auftritt, können wir den Fehlercode über $ mysqli-> errno abrufen. Durch diese Eigenschaft können wir leicht prüfen, ob ein Fehler aufgetreten ist, und entsprechende Maßnahmen ergreifen.

     if ($mysqli->errno) {
        echo "Fehlercode: " . $mysqli->errno;
    }
    

2. Wie kann man mit Fehlern bei der Ausführung mehrerer Aussagen umgehen?

Bei Verwendung von MySQLI :: Multi_Query zur Ausführung mehrerer SQL -Anweisungen können wir die Fehlerinformationen über MySQLI :: $ errno abrufen und die entsprechende Verarbeitung vornehmen. Hier ist ein Beispiel, um zu erklären, wie man sie benutzt.

Beispielcode:

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

// 检查verbinden是否成功
if ($mysqli->connect_error) {
    die("verbinden失败: " . $mysqli->connect_error);
}

// Mehrere SQL Stellungnahme
$sql = "
    INSERT INTO users (username, email) VALUES ('user1', 'user1@example.com');
    INSERT INTO users (username, email) VALUES ('user2', 'user2@example.com');
    INSERT INTO users (username, email) VALUES ('user3', 'user3@example.com');
";

// 执行Mehrere SQL Stellungnahme
if ($mysqli->multi_query($sql)) {
    do {
        // Holen Sie sich den Ergebnissatz der aktuellen Abfrage
        if ($result = $mysqli->store_result()) {
            // Prozessabfragenergebnisse
            while ($row = $result->fetch_row()) {
                printf("%s\n", $row[0]);
            }
            $result->free();
        }
        // Überprüfen Sie, ob es mehr Ergebnissätze gibt
    } while ($mysqli->next_result());
    
    // Überprüfen Sie auf Fehler
    if ($mysqli->errno) {
        echo "Ausführungsfehler: " . $mysqli->error;
    } else {
        echo "所有Stellungnahme执行成功!";
    }
} else {
    // 如果多Stellungnahme查询失败,Ausgabefehlermeldung
    echo "Ausführung fehlgeschlagen: " . $mysqli->error;
}

$mysqli->close();
?>

erklären:

  1. Ausführung von Multi_Query :
    Im Code verwenden wir die MySQLI :: Multi_Query -Methode, um mehrere SQL -Anweisungen auszuführen. Es gibt wahr zurück, wenn die Ausführung erfolgreich ist, andernfalls gibt sie falsche zurück.

  2. Verarbeitung mehrerer Ergebnissätze :
    Nachdem Multi_Query ausgeführt wurde, müssen wir überprüfen, ob es über MySQLi :: Next_Result weitere Ergebnissesätze gibt, und die Ergebnisse der aktuellen Abfrage über MySQLI :: Store_Result erhalten. Wir können jedes Ergebnis eins nach dem anderen verarbeiten.

  3. Fehlerbehandlung :
    Nachdem die Ausführung der Mehrfachbekämpfung abgeschlossen ist, können wir prüfen, ob ein Fehler über MySQLI :: $ errno aufgetreten ist. Wenn ein Fehler auftritt, können Sie detaillierte Fehlerinformationen über MySQLI :: Fehler erhalten und verarbeiten.

  4. Schließen Sie die Verbindung :
    Denken Sie nach Abschluss aller Vorgänge daran, die Datenbankverbindung zu schließen.

3. Zusammenfassung

  • MySQLI :: Multi_Query ist eine leistungsstarke Methode, mit der mehrere SQL -Anweisungen ausgeführt werden können.

  • Mit MySQLI :: $ errno hilft uns, Fehler bei der Ausführung von Multi-Statements zu fangen und zu behandeln.

  • Beim Umgang mit Multi-Statement-Abfragen müssen wir sicherstellen, dass jedes Ergebnissatz korrekt verarbeitet wird, und prüfen, ob Fehler rechtzeitig aufgetreten sind.

Durch die gemeinsame Verwendung dieser beiden können wir verschiedene mögliche Fehler bei der Ausführung von Mehrfachbekenntnissen effizienter erfassen und bewältigen, wodurch die Stabilität und Zuverlässigkeit unseres Codes verbessert wird.