⊗ppSpPDPP 60 of 83 menu

Pozicionális helykitöltők a PDO-ban PHP-ben

Értsük meg, hogyan kell dolgozni a pozicionális helykitöltőkkel. Tegyük fel, hogy van két változónk, amiket be szeretnénk illeszteni a lekérdezésbe:

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

Tegyük fel, hogy a változóinkat a következő módon szeretnénk beilleszteni:

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

Ez azonban nem biztonságos. Ezért a változók közvetlen beillesztése helyett cseréljük ki őket pozicionális helykitöltőkre, amelyek kérdőjelek:

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

Most hajtsuk végre azt a parancsot, amely előkészíti a lekérdezést:

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

Most hajtsuk végre a lekérdezést úgy, hogy paraméterként átadjuk neki a változóinkat tartalmazó tömböt. Eközben a változók abban a sorrendben kerülnek be a lekérdezésbe, ahogyan a tömbben meg vannak adva:

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

Ezután megkaphatjuk a lekérdezés eredményét:

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

Gyűjtsük össze az egészet, és kapjuk a következő kódot:

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

Adottak a változók:

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

Keresse meg az összes olyan felhasználót, akinek a kora vagy a fizetése megegyezik a változókban megadott értékekkel.

Próbáljon meg SQL-injektálást végrehajtani a kódjában. Győződjön meg róla, hogy az nem fog sikerülni.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás