Elnevezett helykitöltők a PDO-ban PHP-ben

A kényelem érdekében használhatunk elnevezett helykitöltőket, ahol a változók sorrendje a tömbben nem fontos. Nézzük meg, hogyan kell velük dolgozni.

Tételezzük fel, hogy ismét a következő változóink vannak:

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

Készítsünk SQL lekérdezést, elnevezett helykitöltőket használva. Szintaxisuk a következő: kettőspont, majd a helykitöltő neve. Használjuk őket a lekérdezésben:

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

Előkészítjük a lekérdezést:

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

Végrehajtjuk a lekérdezést, átadva neki paraméterként egy asszociatív tömböt, ahol a kulcsok a helykitöltők nevei az SQL lekérdezésben, az értékek pedig a megfelelő változók:

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

Megnézhetjük az eredményt:

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

Gyűjtsük össze az egészet, és megkapjuk a következő kódot:

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

Adott egy változó:

php<?php
  $age = 30;
?>

Keresse meg az összes olyan felhasználót, akinek a kora megegyezik a változóban megadott értékkel.

Задание 2

Adottak a következő változók:

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

Keresse meg az összes olyan felhasználót, akinek a kora a változók értékei által megadott tartományba esik.

Задание 3

Adottak a következő változók:

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

Keresse meg az összes olyan felhasználót, akinek kora ÉS fizetése is a változók értékei által megadott tartományba esik.