Einbinden vorbereiteter Anweisungen mit INSERT INTO
Beim Durchqueren der labyrinthischen Tiefen von PHP: Datenobjekten entsteht beim Versuch, MySQL auszuführen, ein verwirrendes Rätsel Abfragen mit vorbereiteten Anweisungen, insbesondere für INSERT INTO-Operationen. Betrachten Sie den folgenden Codeausschnitt:
$statement = $link->prepare("INSERT INTO testtable(name, lastname, age) VALUES('Bob','Desaunois','18')"); $statement->execute();
Trotz Einhaltung der angeblich vorgeschriebenen Methode bleibt die Datenbank hartnäckig desolat. Lassen Sie uns die fehlenden Elemente untersuchen, die unseren Fortschritt behindert haben.
Der Schlüssel zur Erschließung des Potenzials vorbereiteter Anweisungen für INSERT INTO-Abfragen liegt in der Parameterbindung, einer Technik, die die sichere und dynamische Integration von Werten in die ermöglicht SQL-Anweisung. Dies wird durch die Einbindung von Platzhaltern in die Abfrage und die anschließende Bereitstellung der entsprechenden Werte als assoziatives Array bei der Ausführung erreicht.
Beachten Sie den überarbeiteten Code:
$statement = $link->prepare('INSERT INTO testtable (name, lastname, age) VALUES (:fname, :sname, :age)'); $statement->execute([ 'fname' => 'Bob', 'sname' => 'Desaunois', 'age' => '18', ]);
Beachten Sie das Vorhandensein der Parameternamen „:fname“, „:sname“ und „:age“ in der Abfrage. Diese dienen als Platzhalter für die tatsächlichen Werte, die dann als assoziatives Array in der Funktion „execute()“ bereitgestellt werden.
Alternativ können Sie das „?“ verwenden. Syntax als Platzhalter und übergeben Sie ein Array von Werten ohne Angabe der Parameternamen:
$statement = $link->prepare('INSERT INTO testtable (name, lastname, age) VALUES (?, ?, ?)'); $statement->execute(['Bob', 'Desaunois', '18']);
Beide Ansätze bieten ihre jeweiligen Vor- und Nachteile. Die Verwendung benannter Parameter verbessert die Lesbarkeit, während das „?“ Die Syntax vereinfacht das Binden von Werten. Letztendlich ist die Wahl zwischen beiden jedoch eine Frage der persönlichen Präferenz.
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