Heim >Backend-Entwicklung >PHP-Tutorial >Kann eine einzelne vorbereitete MySQL-Anweisung mehrere Abfragen ausführen?

Kann eine einzelne vorbereitete MySQL-Anweisung mehrere Abfragen ausführen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-25 18:24:10952Durchsuche

Can a Single MySQL Prepared Statement Execute Multiple Queries?

Ist es möglich, mehrere MySQL-Abfragen in einer einzigen Anweisung vorzubereiten?

Abfrage:

Kann in MySQL a Vorbereitete Anweisung mehrere Abfragen gleichzeitig ausführen? Zum Beispiel:

mysqli->prepare(query1 ...1,2,3 param...; query2...4,5 param...);

Oder alternativ:

mysqli->prepare(insert into ...1,2,3 param...; insert into...4,5 param...);

Gefolgt von:

mysqli->bind_param("sssss", 1, 2, 3, 4, 5);

Antwort:

Nein, eine vorbereitete Anweisung in MySQL kann nur eine einzige Abfrage ausführen. In separaten Variablen können mehrere vorbereitete Anweisungen erstellt werden:

$stmtUser = $sql->prepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?)");
$stmtProc = $sql->prepare("INSERT INTO process (id_user, idp) VALUES (?,?);");

Diese Anweisungen können dann später ausgeführt werden.

Um sicherzustellen, dass beide Abfragen erfolgreich ausgeführt werden, sollten Sie die Verwendung von Datenbanktransaktionen in Betracht ziehen, wie von vorgeschlagen Thomas.

Tipp:

Wenn der Fehler „Call to Member Function on a Nicht-Objekt“ beim Versuch, Parameter zu binden, weist dies wahrscheinlich auf einen Fehler in der Prepare()-Anweisung selbst hin.

Das obige ist der detaillierte Inhalt vonKann eine einzelne vorbereitete MySQL-Anweisung mehrere Abfragen ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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