PHPдеги PDO аркылуу атталган плейсхолдерлер

Ыңгайлуулук үчүн атталган плейсхолдерлерди колдонсо болот, анда массивдеги өзгөрмөлөрдүн ирети маанилүү эмес. Келгиле, алар менен кантип иштөө керек экенин карап көрөлү.

Кайрадан бизде төмөнкү өзгөрмөлөр бар деп коёлу:

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;
?>

Жашы ЖАНА эмгек акысы өзгөрмөлөрдүн маанилери менен белгиленген диапазондо жаткан бардык колдонуучуларды табыңыз.