Nazwane placeholdery w PDO w PHP

Dla wygody można używać nazwanych placeholderów, w których kolejność następowania zmiennych w tablicy nie ma znaczenia. Spójrzmy, jak z nimi pracować.

Załóżmy, że znowu mamy następujące zmienne:

php<?php
  $min = 1;
  $max = 5;
?>

Wykonajmy zapytanie SQL, używając nazwanych placeholderów. Ich składnia jest taka: dwukropek, a potem nazwa placeholderu. Skorzystajmy z nich w zapytaniu:

php<?php
  $sql = 'SELECT * FROM users WHERE id>:min and id<:max';
?>

Przygotowujemy zapytanie:

php<?php
  $res = $pdo->prepare($sql);
?>

Wykonujemy zapytanie, przekazując mu jako parametry tablicę asocjacyjną, gdzie kluczami będą nazwy placeholderów w zapytaniu SQL, a wartościami - odpowiednie zmienne:

php<?php
  $res->execute([
    'min' => $min,
    'max' => $max
  ]);
?>

Możemy spojrzeć na wynik:

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

Zbierzmy wszystko razem i otrzymamy następujący kod:

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

Dana jest zmienna:

php<?php
  $age = 30;
?>

Znajdź wszystkich użytkowników, u których wiek jest równy wartości podanej w zmiennej.

Задание 2

Dane są zmienne:

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

Znajdź wszystkich użytkowników, u których wiek mieści się w zakresie, określonym przez wartości zmiennych.

Задание 3

Dane są zmienne:

php<?php
  $age1 = 20;
  $age2 = 30;
  
  $salary1 = 1000;
  $salary2 = 2000;
?>

Znajdź wszystkich użytkowników, u których wiek ORAZ pensja mieszczą się w zakresie, określonym przez wartości zmiennych.