Segnaposti nominati in PDO in PHP
Per comodità si possono utilizzare i segnaposti nominati, in cui l'ordine delle variabili nell'array non è importante. Vediamo come lavorarci.
Supponiamo di avere nuovamente le seguenti variabili:
<?php
$min = 1;
$max = 5;
?>
Creiamo una query SQL, utilizzando i segnaposti nominati. La loro sintassi è questa: due punti, seguiti dal nome del segnaposto. Usiamoli nella query:
<?php
$sql = 'SELECT * FROM users WHERE id>:min and id<:max';
?>
Prepariamo la query:
<?php
$res = $pdo->prepare($sql);
?>
Eseguiamo la query, passandole come parametri un array associativo, dove le chiavi saranno i nomi dei segnaposti nella query SQL, e i valori - le variabili corrispondenti:
<?php
$res->execute([
'min' => $min,
'max' => $max
]);
?>
Possiamo visualizzare il risultato:
<?php
while ($row = $res->fetch()) {
var_dump($row);
}
?>
Mettiamo tutto insieme e otteniamo il seguente codice:
<?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);
}
?>
Data la variabile:
<?php
$age = 30;
?>
Trova tutti gli utenti, la cui età è uguale al valore specificato nella variabile.
Date le variabili:
<?php
$age1 = 20;
$age2 = 30;
?>
Trova tutti gli utenti, la cui età rientra nell'intervallo definito dai valori delle variabili.
Date le variabili:
<?php
$age1 = 20;
$age2 = 30;
$salary1 = 1000;
$salary2 = 2000;
?>
Trova tutti gli utenti, la cui età E lo stipendio rientrano nell'intervallo definito dai valori delle variabili.