Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich vorbereitete Anweisungen mit INSERT INTO in PHP richtig verwenden?

Wie kann ich vorbereitete Anweisungen mit INSERT INTO in PHP richtig verwenden?

Patricia Arquette
Freigeben: 2024-12-02 11:24:12
Original
644 Leute haben es durchsucht

How Can I Properly Use Prepared Statements with INSERT INTO in PHP?

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();
Nach dem Login kopieren

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',
]);
Nach dem Login kopieren

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']);
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage