Heim >Backend-Entwicklung >PHP-Tutorial >Kann eine einzelne vorbereitete MySQL-Anweisung mehrere Abfragen ausführen?
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!