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); }
Zusätzliche Überlegungen:
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!