Pomenované placeholdery v PDO v PHP

Pre pohodlie môžete použiť pomenované placeholdery, v ktorých poradie premenných v poli nie je dôležité. Pozrime sa, ako s nimi pracovať.

Predpokladajme, že máme opäť nasledujúce premenné:

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

Vytvorme SQL dopyt pomocou pomenovaných placeholderov. Ich syntax je taká: dvojbodka, a potom názov placeholderu. Použime ich v dopyt:

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

Pripravíme dopyt:

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

Vykonáme dopyt, odovzdaním parametrov asociatívneho poľa, kde kľúčmi budú názvy placeholderov v SQL dopyt, a hodnotami - príslušné premenné:

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

Môžeme si pozrieť výsledok:

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

Zhromaždíme všetko dokopy a získame nasledujúci kód:

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

Daná premenná:

php<?php
  $age = 30;
?>

Nájdite všetkých používateľov, ktorých vek sa rovná zadanej hodnote premennej.

Задание 2

Dané premenné:

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

Nájdite všetkých používateľov, ktorých vek leží v rozsahu, zadanom hodnotami premenných.

Задание 3

Dané premenné:

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

Nájdite všetkých používateľov, ktorých vek A plat ležia v rozsahu, zadanom hodnotami premenných.