PDO vardintieji placeholder'iai PHP
Patogumui galima naudoti vardinius placeholder'ius, kuriuose kintamųjų eiliškumas masyve nėra svarbus. Pažiūrėkime, kaip su jais dirbti.
Tarkime, kad vėl turime šiuos kintamuosius:
<?php
$min = 1;
$max = 5;
?>
Sukurkime SQL užklausą, panaudojant vardinius placeholder'ius. Jų sintaksė tokia: dvitaškis, o tada placeholder'io vardas. Pasinaudokime jais užklausoje:
<?php
$sql = 'SELECT * FROM users WHERE id>:min and id<:max';
?>
Parengiame užklausą:
<?php
$res = $pdo->prepare($sql);
?>
Vykdome užklausą, perduodami jai parametrus asociatyvų masyvą, kur raktai bus placeholder'ių vardai SQL užklausoje, o reikšmės - atitinkami kintamieji:
<?php
$res->execute([
'min' => $min,
'max' => $max
]);
?>
Galime peržiūrėti rezultatą:
<?php
while ($row = $res->fetch()) {
var_dump($row);
}
?>
Sujungkime viską kartu ir gausime šį kodą:
<?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);
}
?>
Duotas kintamasis:
<?php
$age = 30;
?>
Raskite visus vartotojus, kurių amžius lygus nurodytai kintamojo reikšmei.
Duoti kintamieji:
<?php
$age1 = 20;
$age2 = 30;
?>
Raskite visus vartotojus, kurių amžius yra diapazone, nurodytame kintamųjų reikšmėmis.
Duoti kintamieji:
<?php
$age1 = 20;
$age2 = 30;
$salary1 = 1000;
$salary2 = 2000;
?>
Raskite visus vartotojus, kurių amžius IR atlyginimas yra diapazone, nurodytame kintamųjų reikšmėmis.