Navngitte plassholdere i PDO i PHP
For enkelhets skyld kan du bruke navngitte plassholdere, hvor rekkefølgen på variabler i arrayet ikke er viktig. La oss se hvordan man jobber med dem.
La oss si at vi igjen har følgende variabler:
<?php
$min = 1;
$max = 5;
?>
La oss lage en SQL-spørring ved å bruke navngitte plassholdere. Syntaksen deres er som følger: kolon, og deretter navnet på plassholderen. La oss bruke dem i spørringen:
<?php
$sql = 'SELECT * FROM users WHERE id>:min and id<:max';
?>
Forbereder spørringen:
<?php
$res = $pdo->prepare($sql);
?>
Utfører spørringen ved å sende et assosiativt array som parametere, hvor nøklene vil være navnene på plassholderne i SQL-spørringen, og verdiene - de tilsvarende variablene:
<?php
$res->execute([
'min' => $min,
'max' => $max
]);
?>
Vi kan se på resultatet:
<?php
while ($row = $res->fetch()) {
var_dump($row);
}
?>
La oss sette alt sammen og få følgende kode:
<?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);
}
?>
Gitt variabelen:
<?php
$age = 30;
?>
Finn alle brukere som har en alder lik verdien satt i variabelen.
Gitt variablene:
<?php
$age1 = 20;
$age2 = 30;
?>
Finn alle brukere som har en alder innenfor intervallet satt av variabelverdiene.
Gitt variablene:
<?php
$age1 = 20;
$age2 = 30;
$salary1 = 1000;
$salary2 = 2000;
?>
Finn alle brukere som har både alder OG lønn innenfor intervallet satt av variabelverdiene.