Navngivne pladsholdere i PDO i PHP

For nemheds skyld kan man bruge navngivne pladsholdere, hvor rækkefølgen af variabler i arrayet ikke betyder noget. Lad os se på, hvordan man arbejder med dem.

Lad os igen have følgende variabler:

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

Lad os lave en SQL-forespørgsel, hvor vi bruger navngivne pladsholdere. Deres syntaks er: et kolon efterfulgt af pladsholderens navn. Lad os bruge dem i forespørgslen:

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

Forbereder forespørgslen:

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

Udfører forespørgslen ved at give den et associativt array som parametre, hvor nøglerne er navnene på pladsholderne i SQL-forespørgslen, og værdierne er de tilsvarende variabler:

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

Vi kan se resultatet:

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

Lad os samle 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

Der er givet en variabel:

php<?php
  $age = 30;
?>

Find alle brugere, hvis alder er lig med værdien sat i variablen.

Задание 2

Der er givet variabler:

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

Find alle brugere, hvis alder ligger i intervallet bestemt af variablernes værdier.

Задание 3

Der er givet variabler:

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

Find alle brugere, hvis alder OG løn ligger i intervallet bestemt af variablernes værdier.