PDO nosaukuma vietturi PHP

Ērtības labad var izmantot nosaukuma vietturus, kuros mainīgo secība masīvā nav svarīga. Apskatīsim, kā ar tiem strādāt.

Pieņemsim, ka mums atkal ir šādi mainīgie:

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

Izveidosim SQL vaicājumu, izmantojot nosaukuma vietturus. To sintakse ir šāda: kols, pēc tam viettura nosaukums. Izmantosim tos vaicājumā:

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

Sagatavojam vaicājumu:

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

Izpildām vaicājumu, padodot tam kā parametrus asociatīvu masīvu, kur atslēgas būs vietturu nosaukumi SQL vaicājumā, un vērtības - atbilstošie mainīgie:

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

Varam apskatīt rezultātu:

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

Apvienosim visu kopā un iegūsim šādu kodu:

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

Dots mainīgais:

php<?php
  $age = 30;
?>

Atrodiet visus lietotājus, kuriem vecums ir vienāds ar mainīgajā norādīto vērtību.

Задание 2

Doti mainīgie:

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

Atrodiet visus lietotājus, kuriem vecums atrodas diapazonā, ko norāda mainīgo vērtības.

Задание 3

Doti mainīgie:

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

Atrodiet visus lietotājus, kuriem vecums UN alga atrodas diapazonā, ko norāda mainīgo vērtības.