Nimetatud kohatäitjad PDO-s PHP-s

Mugavuse huvides saab kasutada nimetatud kohatäitjaid, kus muutujate järjekord massiivis ei oma tähtsust. Vaatame, kuidas nendega töötada.

Olgul meil jälle järgmised muutujad:

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

Teeme SQL päringu, kasutades nimetatud kohatäitjaid. Nende süntaks on järgmine: koolon, seejärel kohatäitja nimi. Kasutame neid päringus:

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

Valmistame päringu ette:

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

Teostame päringu, andes ette parameetritena assotsiatiivse massiivi, kus võtmeteks on kohatäitjate nimed SQL päringus ja väärtusteks - vastavad muutujad:

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

Saame vaadata tulemust:

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

Kogume kõik kokku ja saame järgmise koodi:

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

Antud muutuja:

php<?php
  $age = 30;
?>

Leia kõik kasutajad, kelle vanus on võrdne muutujas määratud väärtusega.

Задание 2

Antud muutujad:

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

Leia kõik kasutajad, kelle vanus asub vahemikus, määratud muutujate väärtustega.

Задание 3

Antud muutujad:

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

Leia kõik kasutajad, kelle nii vanus KUI ka palk asuvad vahemikus, määratud muutujate väärtustega.