Imenovani plejsholderi u PDO u PHP

Zbog praktičnosti mogu se koristiti imenovani plejsholderi, kod kojih redosled promenljivih u nizu nije bitan. Hajde da pogledamo kako se radi sa njima.

Neka ponovo imamo sledeće promenljive:

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

Hajde da napravimo SQL upit, koristeći imenovane plejsholdere. Njihova sintaksa je sledeća: dvotačka, a zatim ime plejsholdera. Iskoristimo ih u upitu:

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

Pripremamo upit:

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

Izvršavamo upit, prosledivši mu kao parametre asocijativni niz, gde će ključevi biti imena plejsholdera u SQL upitu, a vrednosti - odgovarajuće promenljive:

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

Možemo pogledati rezultat:

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

Sastavimo sve zajedno i dobijamo sledeći kod:

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

Data je promenljiva:

php<?php
  $age = 30;
?>

Pronađite sve korisnike, čiji je jednak zadatoj vrednosti u promenljivoj.

Задание 2

Date su promenljive:

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

Pronađite sve korisnike, čiji je starost u opsegu, zadatom vrednostima promenljivih.

Задание 3

Date su promenljive:

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

Pronađite sve korisnike, čiji je starost I plata u opsegu, zadatom vrednostima promenljivih.