⊗ppSpPDPP 60 of 83 menu

Позиционо placeholders во PDO во PHP

Ајде да разбереме како да работиме со позиционо placeholders. Нека имаме две променливи, кои би сакале да ги вметнеме во барањето:

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

Нека сакаме да ги вметнеме нашите променливи на следниов начин:

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

Меѓутоа, ова не е безбедно да се прави. Затоа, наместо директно да ги вметнуваме променливите, ќе ги замениме со позиционо placeholders, кои се претставени со прашалници:

<?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šuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј