„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Kann ich mehrere Abfragen in einer einzigen MySQLi-Anweisung vorbereiten?

Kann ich mehrere Abfragen in einer einzigen MySQLi-Anweisung vorbereiten?

Veröffentlicht am 08.11.2024
Durchsuche:922

Can I Prepare Multiple Queries in a Single MySQLi Statement?

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.

Neuestes Tutorial Mehr>

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