Vorbereiten mehrerer Abfragen in einer einzigen MySQLi-Anweisung
Es ist nicht möglich, mehrere Abfragen in einer einzigen MySQLi-Anweisung vorzubereiten. Jeder mysqli_prepare()-Aufruf kann nur eine einzelne Abfrage vorbereiten.
Alternativer Ansatz zum Ausführen mehrerer Abfragen
Wenn Sie mehrere Abfragen auf einmal ausführen müssen, können Sie diese erstellen und führen Sie separate mysqli_prepare()-Anweisungen für jede Abfrage aus.
$stmtUser = $sql->prepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?)");
$stmtProc = $sql->prepare("INSERT INTO process (id_user, idp) VALUES (?,?);");
$stmtUser->bind_param("ssss", $id, $username, $pw, $email);
$stmtProc->bind_param("ss", $id, $idp);
$stmtUser->execute();
$stmtProc->execute();
$stmtUser->close();
$stmtProc->close();
Behandlung von Fehlern
Der Fehler „Aufruf einer Mitgliedsfunktion für ein Nicht-Objekt“ tritt normalerweise auf, wenn „prepare()“ fehlschlägt . Dies liegt normalerweise an einem Fehler in der vorbereiteten Anweisung selbst und nicht im nachfolgenden Code.
Transaktionsunterstützung
Wenn Sie sicherstellen möchten, dass mehrere Abfragen zusammen ausgeführt werden oder Überhaupt nicht, MySQLi unterstützt Transaktionen. Sie können die Funktionen mysqli_begin_transaction() und mysqli_commit() verwenden, um Transaktionsgrenzen zu steuern.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3