⊗ppSpPDPP 60 of 83 menu

Pozičné zástupné symboly v PDO v PHP

Poďme zistiť, ako pracovať s pozícnými zástupnými symbolmi. Predpokladajme, že máme dve premenné, ktoré by sme chceli vložiť do dopytu:

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

Predpokladajme, že chceme vložiť naše premenné nasledovným spôsobom:

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

Takto to však nie je bezpečné. Preto namiesto priameho vkladania premenných ich nahradíme pozícnymi zástupnými symbolmi, ktoré predstavujú otázniky:

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

Teraz vykonajte príkaz, ktorý pripraví dopyt:

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

Teraz vykonajte dopyt odovzdaním parametrov pole, ktoré obsahuje naše premenné. Zároveň sa premenné vložia do dopytu v takom poradí, v akom sú uvedené v poli:

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

Potom môžeme získať výsledok dopytu:

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

Dajme všetko dokopy a získame nasledujúci kód:

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

Dané premenné:

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

Nájdite všetkých používateľov, ktorých vek alebo plat sú rovné zadaným hodnotám v premenných.

Skúste vykonať SQL-injekciu do vášho kódu. Presvedčte sa, že neprejde.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť