PDO vardintieji placeholder'iai PHP

Patogumui galima naudoti vardinius placeholder'ius, kuriuose kintamųjų eiliškumas masyve nėra svarbus. Pažiūrėkime, kaip su jais dirbti.

Tarkime, kad vėl turime šiuos kintamuosius:

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

Sukurkime SQL užklausą, panaudojant vardinius placeholder'ius. Jų sintaksė tokia: dvitaškis, o tada placeholder'io vardas. Pasinaudokime jais užklausoje:

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

Parengiame užklausą:

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

Vykdome užklausą, perduodami jai parametrus asociatyvų masyvą, kur raktai bus placeholder'ių vardai SQL užklausoje, o reikšmės - atitinkami kintamieji:

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

Galime peržiūrėti rezultatą:

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

Sujungkime viską kartu ir gausime šį 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

Duotas kintamasis:

php<?php
  $age = 30;
?>

Raskite visus vartotojus, kurių amžius lygus nurodytai kintamojo reikšmei.

Задание 2

Duoti kintamieji:

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

Raskite visus vartotojus, kurių amžius yra diapazone, nurodytame kintamųjų reikšmėmis.

Задание 3

Duoti kintamieji:

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

Raskite visus vartotojus, kurių amžius IR atlyginimas yra diapazone, nurodytame kintamųjų reikšmėmis.