⊗ppSpPDNP 62 of 83 menu

Automatisches Einschließen von Platzhaltern in Anführungszeichen in PDO in PHP

Technisch gesehen schließt PDO alle eingesetzten Werte in Anführungszeichen ein und betrachtet sie als Strings, sogar wenn es sich tatsächlich um Zahlen handelt. Dies ist durch die SQL-Syntax zulässig. Daher müssen Platzhalter nicht in Anführungszeichen eingeschlossen werden, wenn es sich um einen String-Wert handelt.

Betrachten wir ein Beispiel. Angenommen, in einer Variable ist ein String gespeichert:

<?php $name = 'name1'; ?>

Ein positioneller Platzhalter muss in diesem Fall nicht in Anführungszeichen eingeschlossen werden:

<?php $sql = 'SELECT * FROM users WHERE name=?'; $res = $pdo->prepare(); $res->execute([$name]); ?>

Ein benannter Platzhalter muss ebenfalls nicht in Anführungszeichen eingeschlossen werden:

<?php $sql = 'SELECT * FROM users WHERE name=:name'; $res = $pdo->prepare(); $res->execute(['name' => $name]); ?>

Dass im Query immer Strings verwendet werden, kann dennoch manchmal zu Problemen mit der SQL-Syntax führen - dort, wo die Syntax zwingend Zahlen erfordert. In diesem Fall kann man auf alternative Methoden zur Parameterbindung zurückgreifen, die wir in den folgenden Lektionen behandeln werden.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen