Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich in PHP mehrere MySQLi-Abfragen gleichzeitig ausführen?

Wie kann ich in PHP mehrere MySQLi-Abfragen gleichzeitig ausführen?

Linda Hamilton
Freigeben: 2024-12-08 02:41:14
Original
428 Leute haben es durchsucht

How Can I Execute Multiple MySQLi Queries Simultaneously in PHP?

Mehrere MySQLi-Abfragen: Verständnis von mysqli_multi_query()

Mit MySQLi ist die Ausführung mehrerer Abfragen in einer einzigen Anfrage nicht einfach. Versuche, separate mysqli_query()-Aufrufe auszuführen, führen dazu, dass nur die erste Abfrage ausgeführt wird. Um diese Einschränkung zu überwinden, bietet mysqli_multi_query() eine Lösung zum Ausführen mehrerer SQL-Anweisungen auf einmal.

Beispielimplementierung:

Stellen Sie sich das folgende Szenario vor:

mysqli_query($dblink, "INSERT INTO images ...");
mysqli_query($dblink, "INSERT INTO images_history ...");
Nach dem Login kopieren

Um beide Abfragen gleichzeitig auszuführen, verwenden Sie mysqli_multi_query():

$mysqli = new mysqli(...);
$query = "INSERT INTO images ...";
$query .= "INSERT INTO images_history ...";

$result = mysqli_multi_query($mysqli, $query);

if ($result) {
    while (mysqli_more_results($mysqli) && mysqli_next_result($mysqli)) {
        if (($result = mysqli_store_result($mysqli)) === false && mysqli_error($mysqli) != '') {
            echo "Query failed: " . mysqli_error($mysqli);
        }
    }
} else {
    echo "First query failed..." . mysqli_error($mysqli);
}
Nach dem Login kopieren

Wichtige Überlegungen:

  • mysqli_multi_query() erfordert eine Zeichenfolge, die alle durch Semikolons (;) getrennten Abfragen enthält.
  • mysqli_store_result() muss verwendet werden, um die Ergebnisse jeder Abfrage abzurufen. Da INSERT-Abfragen keine Ergebnismengen zurückgeben, überprüfen Sie mysqli_error() auf eine leere Zeichenfolge, um zu bestätigen, dass die Einfügung erfolgreich war.
  • Dieser Ansatz ist sicher, da er SQL-Injections verhindert, die bei der Ausführung mehrerer mysqli_query()-Aufrufe auftreten.

Zusätzlich Ressourcen:

  • [mysqli_multi_query](https://www.php.net/manual/en/mysqli.multi-query.php)
  • [mysqli_more_results]( https://www.php.net/manual/en/mysqli.more-results .php)
  • [mysqli_next_result](https://www.php.net/manual/en/mysqli.next-result.php)
  • [mysqli_store_result](https://www .php.net/manual/en/mysqli.store-result.php)

Das obige ist der detaillierte Inhalt vonWie kann ich in PHP mehrere MySQLi-Abfragen gleichzeitig ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage