PDO-də Adlandırılmış Placeholder-lər PHP-də

Rahatlıq üçün, dəyişənlərin massivdəki ardıcıllığının əhəmiyyətli olmadığı adlandırılmış placeholder-lərdən istifadə edə bilərsiniz. Gəlin onlarla necə işləməyə baxaq.

Tutaq ki, yenə aşağıdakı dəyişənlər var:

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

Gəlin SQL sorğusunu adlandırılmış placeholder-lər istifadə edərək edək. Onların sintaksisi belədir: iki nöqtə, və sonra placeholder-in adı. Gəlin onlardan sorğuda istifadə edək:

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

Sorğunu hazırlayırıq:

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

Ona, açarların SQL sorğusundakı placeholder-lərin adları, dəyərlərin isə uyğun dəyişənlər olduğu assosiativ massiv ötürərək sorğunu yerinə yetiririk:

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

Nəticəyə baxa bilərik:

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

Gəlin hamısını birlikdə yığaq və aşağıdakı kodu əldə edək:

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

Verilmiş dəyişən:

php<?php
  $age = 30;
?>

Yaşı verilmiş dəyişəndəki dəyərə bərabər olan bütün istifadəçiləri tapın.

Задание 2

Verilmiş dəyişənlər:

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

Yaşı dəyişənlərin dəyərləri ilə müəyyən edilmiş diapazonda olan bütün istifadəçiləri tapın.

Задание 3

Verilmiş dəyişənlər:

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

Həm yaşı, həm də maaşı dəyişənlərin dəyərləri ilə müəyyən edilmiş diapazonda olan bütün istifadəçiləri tapın.