Pojmenované zástupné symboly v PDO v PHP
Pro pohodlí lze použít pojmenované zástupné symboly, kde pořadí proměnných v poli není důležité. Podívejme se, jak s nimi pracovat.
Předpokládejme, že máme opět následující proměnné:
<?php
$min = 1;
$max = 5;
?>
Vytvořme SQL dotaz s použitím pojmenovaných zástupných symbolů. Jejich syntaxe je: dvojtečka, a poté název zástupného symbolu. Použijme je v dotazu:
<?php
$sql = 'SELECT * FROM users WHERE id>:min and id<:max';
?>
Připravíme dotaz:
<?php
$res = $pdo->prepare($sql);
?>
Spustíme dotaz a předáme mu jako parametry asociativní pole, kde klíče budou názvy zástupných symbolů v SQL dotazu a hodnoty - odpovídající proměnné:
<?php
$res->execute([
'min' => $min,
'max' => $max
]);
?>
Můžeme si zobrazit výsledek:
<?php
while ($row = $res->fetch()) {
var_dump($row);
}
?>
Shromáždíme vše dohromady a dostaneme následující kód:
<?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);
}
?>
Je dána proměnná:
<?php
$age = 30;
?>
Najděte všechny uživatele, jejichž věk je roven hodnotě zadané v proměnné.
Jsou dány proměnné:
<?php
$age1 = 20;
$age2 = 30;
?>
Najděte všechny uživatele, jejichž věk leží v rozsahu daném hodnotami proměnných.
Jsou dány proměnné:
<?php
$age1 = 20;
$age2 = 30;
$salary1 = 1000;
$salary2 = 2000;
?>
Najděte všechny uživatele, jejichž věk A plat leží v rozsahu daném hodnotami proměnných.