Genoemde placeholders in PDO in PHP
Voor het gemak kunnen we genoemde placeholders gebruiken, waarbij de volgorde van de variabelen in de array niet belangrijk is. Laten we kijken hoe we ermee kunnen werken.
Stel dat we opnieuw de volgende variabelen hebben:
<?php
$min = 1;
$max = 5;
?>
Laten we een SQL-query maken met behulp van genoemde placeholders. Hun syntaxis is als volgt: een dubbele punt, gevolgd door de naam van de placeholder. Laten we ze gebruiken in de query:
<?php
$sql = 'SELECT * FROM users WHERE id>:min and id<:max';
?>
We prepareren de query:
<?php
$res = $pdo->prepare($sql);
?>
We voeren de query uit en geven als parameters een associatieve array mee, waarbij de sleutels de namen van de placeholders in de SQL-query zijn, en de waarden de bijbehorende variabelen:
<?php
$res->execute([
'min' => $min,
'max' => $max
]);
?>
We kunnen het resultaat bekijken:
<?php
while ($row = $res->fetch()) {
var_dump($row);
}
?>
Laten we alles samenvoegen en we krijgen de volgende code:
<?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);
}
?>
Gegeven de variabele:
<?php
$age = 30;
?>
Vind alle gebruikers waarvan de leeftijd gelijk is aan de waarde in de variabele.
Gegeven de variabelen:
<?php
$age1 = 20;
$age2 = 30;
?>
Vind alle gebruikers waarvan de leeftijd in het bereik ligt dat door de waarden van de variabelen is opgegeven.
Gegeven de variabelen:
<?php
$age1 = 20;
$age2 = 30;
$salary1 = 1000;
$salary2 = 2000;
?>
Vind alle gebruikers waarvan de leeftijd EN het salaris in het bereik liggen dat door de waarden van de variabelen is opgegeven.