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
$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
$sql = 'SELECT * FROM users WHERE id>:min and id<:max';
?>
Sediakan pertanyaan:
<?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
$res->execute([
'min' => $min,
'max' => $max
]);
?>
Kita boleh melihat hasilnya:
<?php
while ($row = $res->fetch()) {
var_dump($row);
}
?>
Mari kumpulkan semuanya dan dapatkan kod berikut:
<?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);
}
?>
Diberi pembolehubah:
<?php
$age = 30;
?>
Cari semua pengguna yang umurnya sama dengan nilai yang ditetapkan dalam pembolehubah.
Diberi pembolehubah:
<?php
$age1 = 20;
$age2 = 30;
?>
Cari semua pengguna yang umurnya berada dalam julat yang ditetapkan oleh nilai pembolehubah.
Diberi pembolehubah:
<?php
$age1 = 20;
$age2 = 30;
$salary1 = 1000;
$salary2 = 2000;
?>
Cari semua pengguna yang umur DAN gaji berada dalam julat yang ditetapkan oleh nilai pembolehubah.