⊗ppSpPDPP 60 of 83 menu

Positsioonilised kohatäitjad PDO-s PHP-s

Mõtleme välja, kuidas töötada positsiooniliste kohatäitjatega. Oletame, et meil on kaks muutujat, mida soovime päringusse sisestada:

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

Oletame, et soovime oma muutujad sisestada järgmisel viisil:

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

See ei ole aga turvaline. Selle asemel, et muutujad otse sisestada, asendame need positsiooniliste kohatäitjatega, mida esindavad küsimärgid:

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

Nüüd käivitame käs, mis ettevalmistab päringu:

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

Nüüd käivitame päringu, edastades sellele parameetritena massiivi, mis sisaldab meie muutujaid. Samal ajal sisestatakse muutujad päringusse sellises järjekorras, nagu need on massiivis määratud:

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

Pärast seda saame päringu tulemuse:

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

Kogume kõik kokku ja saame järgmise koodi:

<?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); } ?>

Antud muutujad:

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

Leia kõik kasutajad, kelle vanus või palk on võrdsed muutujates määratud väärtustega.

Proovige läbi viia SQL-injektsiooni teie koodi. Veenduge, et see ei õnnestu.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu