Placeholder-uri denumite în PDO în PHP

Pentru comoditate, puteți folosi placeholder-uri denumite, în care ordinea variabilelor în matrice nu este importantă. Să vedem cum să lucrăm cu ele.

Să presupunem că avem din nou următoarele variabile:

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

Să facem o interogare SQL, folosind placeholder-uri denumite. Sintaxa lor este: două puncte, apoi numele placeholder-ului. Să le folosim în interogare:

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

Pregătim interogarea:

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

Executăm interogarea, transmitându-i ca parametri un tablou asociativ, unde cheile vor fi numele placeholder-urilor din interogarea SQL, iar valorile - variabilele corespunzătoare:

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

Putem vedea rezultatul:

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

Să colectăm totul împreună și obținem următorul cod:

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

Este dată variabila:

php<?php
  $age = 30;
?>

Găsiți toți utilizatorii a căror vârstă este egală cu valoarea dată în variabilă.

Задание 2

Sunt date variabilele:

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

Găsiți toți utilizatorii a căror vârstă se află în intervalul dat de valorile variabilelor.

Задание 3

Sunt date variabilele:

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

Găsiți toți utilizatorii la care atât vârsta cât și salariul se află în intervalul dat de valorile variabilelor.