Vorbereitete Anweisungen mit INSERT INTO einbinden
Beim Durchqueren der labyrinthischen Tiefen von PHP: Data Objects 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 während 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 von Parameternamen, ' :fname', ':sname' und ':age' innerhalb 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.
Das obige ist der detaillierte Inhalt vonWie kann ich vorbereitete Anweisungen mit INSERT INTO in PHP richtig verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!