Pemegang Tempat Bernama dalam PDO PHP

Untuk kemudahan, anda boleh menggunakan pemegang tempat bernama, di mana susunan pembolehubah dalam array tidak penting. Mari kita lihat bagaimana untuk bekerja dengannya.

Katakan kita sekali lagi mempunyai pembolehubah berikut:

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

Mari buat pertanyaan SQL, menggunakan pemegang tempat bernama. Sintaksnya adalah seperti berikut: kolon, diikuti dengan nama pemegang tempat. Mari gunakan mereka dalam pertanyaan:

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

Sediakan pertanyaan:

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

Laksanakan pertanyaan, dengan menghantar parameter array bersekutu, di mana kunci adalah nama pemegang tempat dalam pertanyaan SQL, dan nilainya adalah pembolehubah yang sepadan:

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

Kita boleh melihat hasilnya:

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

Mari kumpulkan semuanya dan dapatkan kod berikut:

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

Diberi pembolehubah:

php<?php
  $age = 30;
?>

Cari semua pengguna yang umurnya sama dengan nilai yang ditetapkan dalam pembolehubah.

Задание 2

Diberi pembolehubah:

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

Cari semua pengguna yang umurnya berada dalam julat yang ditetapkan oleh nilai pembolehubah.

Задание 3

Diberi pembolehubah:

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

Cari semua pengguna yang umur DAN gaji berada dalam julat yang ditetapkan oleh nilai pembolehubah.