Elnevezett helykitöltők a PDO-ban PHP-ben
A kényelem érdekében használhatunk elnevezett helykitöltőket, ahol a változók sorrendje a tömbben nem fontos. Nézzük meg, hogyan kell velük dolgozni.
Tételezzük fel, hogy ismét a következő változóink vannak:
<?php
$min = 1;
$max = 5;
?>
Készítsünk SQL lekérdezést, elnevezett helykitöltőket használva. Szintaxisuk a következő: kettőspont, majd a helykitöltő neve. Használjuk őket a lekérdezésben:
<?php
$sql = 'SELECT * FROM users WHERE id>:min and id<:max';
?>
Előkészítjük a lekérdezést:
<?php
$res = $pdo->prepare($sql);
?>
Végrehajtjuk a lekérdezést, átadva neki paraméterként egy asszociatív tömböt, ahol a kulcsok a helykitöltők nevei az SQL lekérdezésben, az értékek pedig a megfelelő változók:
<?php
$res->execute([
'min' => $min,
'max' => $max
]);
?>
Megnézhetjük az eredményt:
<?php
while ($row = $res->fetch()) {
var_dump($row);
}
?>
Gyűjtsük össze az egészet, és megkapjuk a következő kódot:
<?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);
}
?>
Adott egy változó:
<?php
$age = 30;
?>
Keresse meg az összes olyan felhasználót, akinek a kora megegyezik a változóban megadott értékkel.
Adottak a következő változók:
<?php
$age1 = 20;
$age2 = 30;
?>
Keresse meg az összes olyan felhasználót, akinek a kora a változók értékei által megadott tartományba esik.
Adottak a következő változók:
<?php
$age1 = 20;
$age2 = 30;
$salary1 = 1000;
$salary2 = 2000;
?>
Keresse meg az összes olyan felhasználót, akinek kora ÉS fizetése is a változók értékei által megadott tartományba esik.