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

Wie kann ich mehrere MySQL-Abfragen gleichzeitig ausführen?

Linda Hamilton
Freigeben: 2024-12-24 00:10:20
Original
543 Leute haben es durchsucht

How Can I Execute Multiple MySQL Queries Simultaneously?

Warum kann ich nicht mehrere MySQL-Abfragen gleichzeitig ausführen?

Wie Sie bemerkt haben, wird versucht, zwei separate MySQL-Abfragen hintereinander auszuführen mysqli_query()-Aufrufe führen dazu, dass die zweite Abfrage fehlschlägt. Dieses Verhalten ist auf Sicherheitsmaßnahmen zurückzuführen.

mysqli_multi_query() zur Rettung

Glücklicherweise bietet mysqli die Funktion mysqli_multi_query(), die speziell für die Ausführung mehrerer Abfragen in einer einzigen entwickelt wurde Datenbankaufruf.

Beispiel Code

Hier ist ein Beispiel für die Verwendung von mysqli_multi_query():

$mysqli = new mysqli($host, $user, $password, $database);

// Create query string with multiple queries separated by ;
$query  = "INSERT INTO images (project_id, user_id, image_name, date_created, link_to_file, link_to_thumbnail, given_name) VALUES ('$project_id', '$user_id', '$image_name', '$date_created', '$link_to_file', '$thumbnail', '$ImageName');";
$query .= "INSERT INTO images_history (project_id, user_id, image_name, date_created, link_to_file, link_to_thumbnail, given_name, day, month, year) VALUES ('$project_id', '$user_id', '$image_name', '$date_created', '$link_to_file', '$thumbnail', '$ImageName', '$day', '$month', '$year');";

// Execute query using mysqli_multi_query()
$result = mysqli_multi_query($mysqli, $query);

// Retrieve results
if ($result) {
    do {
        $result = mysqli_store_result($mysqli);
    } while (mysqli_more_results($mysqli) && mysqli_next_result($mysqli));
} else {
    echo "First query failed: " . mysqli_error($mysqli);
}
Nach dem Login kopieren

Zusätzliche Überlegungen:

  • mysqli_store_result( ) gibt FALSE für Abfragen ohne Ergebnismengen zurück, wie z. B. INSERT-Abfragen. Überprüfen Sie mysqli_error(), um die erfolgreiche Ausführung zu bestätigen.
  • Beachten Sie die Verwendung von „;“ als Trennzeichen zwischen Abfragen.

Durch die Verwendung von mysqli_multi_query() können Sie mehrere Abfragen in einem einzigen Datenbankaufruf effizient ausführen und so das Problem des zweiten Abfragefehlers vermeiden.

Das obige ist der detaillierte Inhalt vonWie kann ich mehrere MySQL-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