დასახელებული პლეისჰოლდერები PDO-ში PHP-ში

მოხერხებულობისთვის შეგიძლიათ გამოიყენოთ დასახელებული პლეისჰოლდერები, რომლებშიც ცვლადების თანმიმდევრობა მასივში არ აქვს მნიშვნელობა. ვნახოთ, როგორ ვიმუშაოთ მათთან.

დავუშვათ, ჩვენ ისევ გვაქვს შემდეგი ცვლადები:

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

შევქმნათ SQL მოთხოვნა, დასახელებული პლეისჰოლდერების გამოყენებით. მათი სინტაქსი ასეთია: ორწერტილი, შემდეგ კი პლეისჰოლდერის სახელი. გამოვიყენოთ ისინი მოთხოვნაში:

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

მოვამზადოთ მოთხოვნა:

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

შევასრულოთ მოთხოვნა, გადავცეთ მას პარამეტრების სახით ასოციაციური მასივი, სადაც გასაღებები იქნება პლეისჰოლდერების სახელები SQL მოთხოვნაში, ხოლო მნიშვნელობები - შესაბამისი ცვლადები:

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

შეგვიძლია შევამოწმოთ შედეგი:

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

შევკრიბოთ ყველაფერი ერთად და მივიღოთ შემდეგი კოდი:

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

მოცემულია ცვლადი:

php<?php
  $age = 30;
?>

იპოვეთ ყველა მომხმარებელი, რომელთა ასაკი უდრის ცვლადში მოცემულ მნიშვნელობას.

Задание 2

მოცემულია ცვლადები:

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

იპოვეთ ყველა მომხმარებელი, რომელთა ასაკი მოცემული დიაპაზონის ფარგლებშია, ცვლადების მნიშვნელობებით განსაზღვრული.

Задание 3

მოცემულია ცვლადები:

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

იპოვეთ ყველა მომხმარებელი, რომელთა ასაკი და ხელფასი მოცემული დიაპაზონის ფარგლებშია, ცვლადების მნიშვნელობებით განსაზღვრული.