⊗ppSpPDPP 60 of 83 menu

Пазіцыйныя плэйсхолдары ў PDO ў PHP

Давайце разбярэмся, як працаваць з пазіцыйнымі плэйсхолдарамі. Хай у нас ёсць дзве зменныя, якія мы хацелі б уставіць у запыт:

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

Хай мы хочам уставіць нашы зменныя наступным чынам:

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

Так, аднак, рабіць не бяспечна. Таму замест таго, каб устаўляць зменныя напрямую, замянім іх на пазіцыйныя плэйсхолдары, якія прадстаўляюць сабой знакі пытанняў:

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

Цяпер выканаем каманду, якая падрыхтуе запыт:

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

Цяпер выканаем запыт, перадаўшы яму параметрамі масіў, які змяшчае нашы зменныя. Пры гэтым зменныя будуць устаўлены ў запыт у такім парадку, як яны ўказаны ў масіве:

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

Пасля гэтага можам атрымаць вынік запыту:

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

Сабярэм усё разам і атрымаем наступны код:

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

Дадзены зменныя:

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

Знайдзіце ўсіх карыстальнікаў, у якіх узрост або зарплата роўныя зададзеным у зменных значэнням.

Паспрабуйце правесці SQL-ін'екцыю ў ваш код. Пераканайцеся, што яна не пройдзе.

Беларуская
AfrikaansAzərbaycanБългарскиবাংলাČeštinaDanskDeutschΕλληνικά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
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць