PDO-ի անվանված պլեյսհոլդերները PHP-ում
Հարմարության համար կարելի է օգտագործել անվանված պլեյսհոլդերներ, որոնց դեպքում զանգվածում փոփոխականների հերթականությունը կարևոր չէ։ Եկեք տեսնենք, թե ինչպես աշխատել դրանց հետ։
Ենթադրենք, մենք կրկին ունենք հետևյալ փոփոխականները՝
<?php
$min = 1;
$max = 5;
?>
Կազմենք SQL հարցում՝ օգտագործելով անվանված պլեյսհոլդերներ։ Դրանց շարահյուսությունը հետևյալն է՝ միջակետ, ապա պլեյսհոլդերի անունը։ Եկեք օգտագործենք դրանք հարցման մեջ՝
<?php
$sql = 'SELECT * FROM users WHERE id>:min and id<:max';
?>
Նախապատրաստում ենք հարցումը՝
<?php
$res = $pdo->prepare($sql);
?>
Կատարում ենք հարցումը՝ փոխանցելով դրան պարամետրերով ասոցիատիվ զանգված, որտեղ բանալիները կլինեն SQL հարցման մեջ գտնվող պլեյսհոլդերների անունները, իսկ արժեքները՝ համապատասխան փոփոխականները՝
<?php
$res->execute([
'min' => $min,
'max' => $max
]);
?>
Կարող ենք դիտել արդյունքը՝
<?php
while ($row = $res->fetch()) {
var_dump($row);
}
?>
Հավաքենք ամենը միասին և ստացենք հետևյալ կոդը՝
<?php
$min = 1;
$max = 5;
$sql = 'SELECT * FROM users WHERE id>:min and id<:max';
$res = $pdo->prepare($sql);
$res->execute([
'min' => $min,
'max' => $max
]);
while ($row = $res->fetch()) {
var_dump($row);
}
?>
Տրված է փոփոխական՝
<?php
$age = 30;
?>
Գտեք բոլոր այն օգտատերերին, որոնց տարիքը հավասար է փոփոխականում նշված արժեքին։
Տրված են փոփոխականները՝
<?php
$age1 = 20;
$age2 = 30;
?>
Գտեք բոլոր այն օգտատերերին, որոնց տարիքը գտնվում է փոփոխականների արժեքներով սահմանված միջակայքում։
Տրված են փոփոխականները՝
<?php
$age1 = 20;
$age2 = 30;
$salary1 = 1000;
$salary2 = 2000;
?>
Գտեք բոլոր այն օգտատերերին, որոնց տարիքը ԵՎ աշխատավարձը գտնվում են փոփոխականների արժեքներով սահմանված միջակայքում։