MySQL-Abfragevorbereitung mit mehreren Abfragen
Die Vorbereitung mehrerer Abfragen wird von der vorbereiteten Anweisungsfunktion von MySQL nicht unterstützt. Eine vorbereitete Anweisung in MySQL ist auf die Ausführung einer einzelnen MySQL-Abfrage beschränkt.
Alternativer Ansatz:
Wenn Sie mehrere Abfragen nacheinander ausführen müssen, können Sie separate vorbereitete Anweisungen erstellen Anweisungen für jede Abfrage:
$stmtUser = $sql->prepare("INSERT INTO user (id_user, username, pw, email) VALUES (?,?,?,?)"); $stmtProc = $sql->prepare("INSERT INTO process (id_user, idp) VALUES (?,?)");
Transaktionsbasierter Ansatz:
Alternativ können Sie mithilfe von Transaktionen sicherstellen, dass entweder beide Abfragen ausgeführt werden oder keine ausgeführt:
$sql->begin_transaction(); // Execute both queries if (!$stmtUser->execute() || !$stmtProc->execute()) { $sql->rollback(); } else { $sql->commit(); }
Fehlerbehebung:
Wenn Sie auf den Fehler „Aufruf einer Member-Funktion für ein Nicht-Objekt“ stoßen, weist dies darauf hin, dass die Vorbereitung der Anweisung fehlgeschlagen ist. Überprüfen Sie Ihre Prepare()-Anweisung sorgfältig auf etwaige Fehler.
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