Heim > Backend-Entwicklung > PHP-Tutorial > Warum schlagen meine zweiten MySQL-Abfragen fehl und wie kann „mysqli_multi_query()' helfen?

Warum schlagen meine zweiten MySQL-Abfragen fehl und wie kann „mysqli_multi_query()' helfen?

DDD
Freigeben: 2024-12-29 17:55:18
Original
124 Leute haben es durchsucht

Why Do My Second MySQL Queries Fail, and How Can `mysqli_multi_query()` Help?

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');";
Nach dem Login kopieren

Führen Sie anschließend die Mehrfachabfrage mit aus mysqli_multi_query():

$result = mysqli_multi_query($mysqli, $query);
Nach dem Login kopieren

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!

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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage