⊗ppSpPDPP 60 of 83 menu

Pozicijski ograde v PDO v PHP

Poglejmo, kako delati s pozicijskimi ogradami. Recimo, da imamo dve spremenljivki, ki ju želimo vstaviti v poizvedbo:

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

Recimo, da želimo vstaviti naši spremenljivki na naslednji način:

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

Toda to ni varno. Zato namesto neposredne vstavitve spremenljivk zamenjajmo s pozicijskimi ogradami, ki so predstavljene z vprašaji:

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

Zdaj izvedimo ukaz, ki pripravi poizvedbo:

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

Zdaj izvedimo poizvedbo in ji posredujemo parameter kot seznam, ki vsebuje naši spremenljivki. Pri tem se bodo spremenljivke vstavile v poizvedbo v takem zaporedju, kot so navedene v seznamu:

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

Po tem lahko dobimo rezultat poizvedbe:

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

Zberimo vse skupaj in dobimo naslednjo kodo:

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

Podane so spremenljivke:

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

Poiščite vse uporabnike, katerih starost ali plača sta enaki vrednostim, podanim v spremenljivkah.

Poskusite izvesti SQL-injekcijo v vašo kodo. Prepričajte se, da ne bo uspela.

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
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni