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

Գտեք բոլոր այն օգտատերերին, որոնց տարիքը ԵՎ աշխատավարձը գտնվում են փոփոխականների արժեքներով սահմանված միջակայքում։