Kann mysqli mehrere Abfragen in einer Anweisung vorbereiten?
In mysqli ist eine vorbereitete Anweisung dazu konzipiert, eine einzelne MySQL-Abfrage auszuführen. Während es nicht möglich ist, mehrere Abfragen in einer einzigen Anweisung vorzubereiten, können Sie mehrere vorbereitete Anweisungen in verschiedenen Variablen erstellen.
Verwenden Sie dazu den folgenden Ansatz:
$stmtUser = $sql->prepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?)"); $stmtProc = $sql->prepare("INSERT INTO process (id_user, idp) VALUES (?,?);");
Das ist möglich Führen Sie diese Anweisungen dann unabhängig aus. Zum Beispiel:
$stmtUser->bind_param("ssss", $id, $username, $pw, $email); $stmtUser->execute(); $stmtProc->bind_param("ss", $id, $idp); $stmtProc->execute();
Wenn Sie eine strikte gleichzeitige Ausführung beider Abfragen benötigen, sollten Sie die Verwendung von Transaktionen in Betracht ziehen. Transaktionen stellen sicher, dass entweder beide Abfragen erfolgreich sind oder beide fehlschlagen.
Denken Sie schließlich daran, dass ein Fehler „Aufruf einer Member-Funktion für ein Nicht-Objekt“ normalerweise auf einen Fehler in der Prepare()-Anweisung hinweist, der eine Überprüfung erforderlich macht für Fehler.
Das obige ist der detaillierte Inhalt vonKönnen von MySQLi vorbereitete Anweisungen mehrere Abfragen gleichzeitig verarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!