⊗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 файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау