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<?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<?php
  $sql = 'SELECT * FROM users WHERE id>:min and id<:max';
?>

Prepariamo la query:

php<?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<?php
  $res->execute([
    'min' => $min,
    'max' => $max
  ]);
?>

Possiamo visualizzare il risultato:

php<?php
  while ($row = $res->fetch()) {
    var_dump($row);
  }
?>

Mettiamo tutto insieme e otteniamo il seguente codice:

php<?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);
  }
?>
Задание 1

Data la variabile:

php<?php
  $age = 30;
?>

Trova tutti gli utenti, la cui età è uguale al valore specificato nella variabile.

Задание 2

Date le variabili:

php<?php
  $age1 = 20;
  $age2 = 30;
?>

Trova tutti gli utenti, la cui età rientra nell'intervallo definito dai valori delle variabili.

Задание 3

Date le variabili:

php<?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.