Navngitte plassholdere i PDO i PHP

For enkelhets skyld kan du bruke navngitte plassholdere, hvor rekkefølgen på variabler i arrayet ikke er viktig. La oss se hvordan man jobber med dem.

La oss si at vi igjen har følgende variabler:

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

La oss lage en SQL-spørring ved å bruke navngitte plassholdere. Syntaksen deres er som følger: kolon, og deretter navnet på plassholderen. La oss bruke dem i spørringen:

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

Forbereder spørringen:

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

Utfører spørringen ved å sende et assosiativt array som parametere, hvor nøklene vil være navnene på plassholderne i SQL-spørringen, og verdiene - de tilsvarende variablene:

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

Vi kan se på resultatet:

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

La oss sette alt sammen og få følgende kode:

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

Gitt variabelen:

php<?php
  $age = 30;
?>

Finn alle brukere som har en alder lik verdien satt i variabelen.

Задание 2

Gitt variablene:

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

Finn alle brukere som har en alder innenfor intervallet satt av variabelverdiene.

Задание 3

Gitt variablene:

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

Finn alle brukere som har både alder OG lønn innenfor intervallet satt av variabelverdiene.