Namngivna platshållare i PDO i PHP
För bekvämlighet kan man använda namngivna platshållare, där ordningen på variablerna i arrayen inte spelar någon roll. Låt oss se hur man arbetar med dem.
Låt oss återigen ha följande variabler:
<?php
$min = 1;
$max = 5;
?>
Låt oss skapa en SQL-fråga med hjälp av namngivna platshållare. Deras syntax är: kolon följt av namnet på platshållaren. Låt oss använda dem i frågan:
<?php
$sql = 'SELECT * FROM users WHERE id>:min and id<:max';
?>
Förbereder frågan:
<?php
$res = $pdo->prepare($sql);
?>
Kör frågan och skicka parametrarna som en associativ array, där nycklarna är namnen på platshållarna i SQL-frågan, och värdena är motsvarande variabler:
<?php
$res->execute([
'min' => $min,
'max' => $max
]);
?>
Vi kan titta på resultatet:
<?php
while ($row = $res->fetch()) {
var_dump($row);
}
?>
Låt oss sätta ihop allt och få följande 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);
}
?>
Följande variabel är given:
<?php
$age = 30;
?>
Hitta alla användare som har en ålder lika med värdet i variabeln.
Följande variabler är givna:
<?php
$age1 = 20;
$age2 = 30;
?>
Hitta alla användare som har en ålder inom intervallet som anges av variablernas värden.
Följande variabler är givna:
<?php
$age1 = 20;
$age2 = 30;
$salary1 = 1000;
$salary2 = 2000;
?>
Hitta alla användare som har en ålder OCH lön inom intervallet som anges av variablernas värden.