Können mehrere Abfragen in einer einzigen MySQL-Anweisung vorbereitet werden?
In MySQL führt eine vorbereitete Anweisung nur eine einzige Abfrage aus. Obwohl es nicht möglich ist, mehrere Abfragen in einer einzigen Anweisung vorzubereiten, können Sie für jede Abfrage separate vorbereitete Anweisungen erstellen.
Betrachten Sie das folgende Beispiel:
$stmtUser = $sql->prepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?)"); $stmtProc = $sql->prepare("INSERT INTO process (id_user, idp) VALUES (?,?);");
Hier werden zwei vorbereitete Anweisungen ($ stmtUser und $stmtProc) wurden erstellt. Anschließend können Sie diese Anweisungen nach Bedarf ausführen:
$stmtUser->execute(); $stmtProc->execute();
Wenn Sie sicherstellen müssen, dass beide Abfragen zusammen ausgeführt werden, können Sie sie mithilfe einer Transaktion gruppieren. Eine Transaktion garantiert, dass entweder beide Abfragen ausgeführt werden oder keine.
Tipp: Ein Fehler „Aufruf einer Member-Funktion für ein Nicht-Objekt“ weist oft darauf hin, dass Prepare() fehlgeschlagen ist. Überprüfen Sie die Abfrage in Prepare(), um etwaige Probleme zu beheben.
Das obige ist der detaillierte Inhalt vonKönnen von MySQL vorbereitete Anweisungen mehrere Abfragen gleichzeitig verarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!