Zwei MySQL-Abfragen gleichzeitig?
Warum schlägt die zweite Abfrage fehl, wenn versucht wird, mehrere MySQL-Abfragen auszuführen?
Die mysqli_multi_query()-Lösung
Ansprechen Bei diesem Problem sollten Sie die Verwendung der Funktion mysqli_multi_query() in Betracht ziehen. Mit dieser Funktion können Sie mehrere Abfragen innerhalb eines einzigen MySQL-Aufrufs ausführen.
Beispielimplementierung
Formulieren Sie zunächst eine Zeichenfolge mit Ihren Abfragen und trennen Sie diese durch ein Semikolon (; ).
$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');";
Führen Sie anschließend die Mehrfachabfrage mit aus mysqli_multi_query():
$result = mysqli_multi_query($mysqli, $query);
Verarbeitung von Ausführungsergebnissen
Die Ausführungsergebnisse werden in der Variablen $result erfasst. Wenn die erste Abfrage fehlschlägt, ist $result falsch.
Nächste Schritte und Vorsichtsmaßnahmen
Beachten Sie außerdem, dass mysqli_store_result() für Abfragen ohne Ergebnismenge false zurückgibt (z. B. INSERT-Abfragen). Stellen Sie daher sicher, dass Sie mysqli_error() verwenden, um einen erfolgreichen INSERT zu überprüfen, indem Sie nach einem leeren Ergebnis suchen.
Weitere Informationen zu mysqli_multi_query(), mysqli_more_results(), mysqli_next_result() und mysqli_store_result() finden Sie in der bereitgestellten Dokumentation. Funktionen.
Das obige ist der detaillierte Inhalt vonWarum schlagen meine zweiten MySQL-Abfragen fehl und wie kann „mysqli_multi_query()' helfen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!