⊗ppSpPDPP 60 of 83 menu

Positionale Platzhalter in PDO in PHP

Lassen Sie uns herausfinden, wie man mit positionellen Platzhaltern arbeitet. Nehmen wir an, wir haben zwei Variablen, die wir in die Abfrage einfügen möchten:

<?php $min = 1; $max = 5; ?>

Nehmen wir an, wir möchten unsere Variablen wie folgt einfügen:

<?php $sql = "SELECT * FROM users WHERE id>$min and id<$max"; ?>

Das ist jedoch unsicher. Anstatt die Variablen direkt einzufügen, ersetzen wir sie daher durch positionelle Platzhalter, die durch Fragezeichen dargestellt werden:

<?php $sql = 'SELECT * FROM users WHERE id>? and id<?'; ?>

Führen wir nun den Befehl aus, der die Abfrage vorbereitet:

<?php $res = $pdo->prepare($sql); ?>

Führen wir nun die Abfrage aus, indem wir ihr als Parameter ein Array übergeben, das unsere Variablen enthält. Dabei werden die Variablen in der Reihenfolge in die Abfrage eingefügt, in der sie im Array angegeben sind:

<?php $res->execute([$min, $max]); ?>

Danach können wir das Ergebnis der Abfrage abrufen:

<?php while ($row = $res->fetch()) { var_dump($row); } ?>

Fassen wir alles zusammen und erhalten den folgenden Code:

<?php $min = 1; $max = 5; $sql = 'SELECT * FROM users WHERE id>? and id<?'; $res = $pdo->prepare($sql); $res->execute([$min, $max]); while ($row = $res->fetch()) { var_dump($row); } ?>

Gegeben sind die Variablen:

<?php $age = 30; $salary = 1000; ?>

Finden Sie alle Benutzer, deren Alter oder Gehalt den in den Variablen angegebenen Werten entsprechen.

Versuchen Sie, eine SQL-Injektion in Ihren Code durchzuführen. Stellen Sie sicher, dass sie nicht funktioniert.

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