Kann MySQLi mehrere Abfragen in einer Anweisung vorbereiten?
In MySQLi gibt es Einschränkungen bei der Vorbereitung mehrerer Abfragen in einer einzigen Anweisung. Eine vorbereitete Anweisung kann nur eine MySQL-Abfrage ausführen. Sie können jedoch beliebig viele Anweisungen vorbereiten und diese in verschiedenen Variablen speichern. Hier ist ein Beispiel:
<code class="php">$stmtUser = $sql->prepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?)"); $stmtProc = $sql->prepare("INSERT INTO process (id_user, idp) VALUES (?,?);");</code>
Später können Sie diese Anweisungen unabhängig voneinander ausführen:
<code class="php">$stmtUser->execute(); $stmtProc->execute();</code>
Wenn Sie möchten, dass beide Anweisungen erfolgreich oder überhaupt nicht ausgeführt werden, sollten Sie die Verwendung von Transaktionen in Betracht ziehen.
Fehlerbehandlung:
Wenn Sie auf den Fehler „Aufruf einer Mitgliedsfunktion bind_param() für ein Nicht-Objekt“ stoßen, weist dies darauf hin, dass der Prepare()-Aufruf fehlgeschlagen ist , was zu einem ungültigen vorbereiteten Anweisungsobjekt führt. In solchen Fällen ist es wichtig, die Prepare()-Anweisung auf mögliche Fehler zu überprüfen.
Das obige ist der detaillierte Inhalt vonKann MySQLi mehrere Abfragen in einer Anweisung vorbereiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!