PDO'da İsimlendirilmiş Yer Tutucular (Placeholders) PHP'de
Kolaylık olması için, dizideki değişkenlerin sırasının önemli olmadığı isimlendirilmiş yer tutucular kullanılabilir. Bunlarla nasıl çalışılacağına bir göz atalım.
Yine aşağıdaki değişkenlere sahip olduğumuzu varsayalım:
<?php
$min = 1;
$max = 5;
?>
İsimlendirilmiş yer tutucular kullanarak bir SQL sorgusu yapalım. Sözdizimi şu şekildedir: iki nokta üst üste ve ardından yer tutucunun adı. Bunları sorguda kullanalım:
<?php
$sql = 'SELECT * FROM users WHERE id>:min and id<:max';
?>
Sorguyu hazırlayalım:
<?php
$res = $pdo->prepare($sql);
?>
Anahtarların SQL sorgusundaki yer tutucu adları, değerlerin ise ilgili değişkenler olduğu bir ilişkisel dizi parametre olarak vererek sorguyu çalıştıralım:
<?php
$res->execute([
'min' => $min,
'max' => $max
]);
?>
Sonucu görebiliriz:
<?php
while ($row = $res->fetch()) {
var_dump($row);
}
?>
Hepsini bir araya getirelim ve aşağıdaki kodu elde edelim:
<?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);
}
?>
Aşağıdaki değişken verilmiştir:
<?php
$age = 30;
?>
Yaşı değişkende verilen değere eşit olan tüm kullanıcıları bulun.
Aşağıdaki değişkenler verilmiştir:
<?php
$age1 = 20;
$age2 = 30;
?>
Yaşı, değişkenlerin değerleriyle belirlenen aralıkta olan tüm kullanıcıları bulun.
Aşağıdaki değişkenler verilmiştir:
<?php
$age1 = 20;
$age2 = 30;
$salary1 = 1000;
$salary2 = 2000;
?>
Hem yaşı hem de maaşı, değişkenlerin değerleriyle belirlenen aralıkta olan tüm kullanıcıları bulun.