PDO'da Yer Tutucuların PHP'de Otomatik Tırnak İçine Alınması
Teknik olarak PDO, gerçekte sayılar olsa bile, eklenen tüm değerleri dizge olarak kabul edip tırnak içine alır. Bu SQL sözdizimi tarafından kabul edilir. Bu nedenle, eğer dizge değeriniz varsa yer tutucuları tırnak içine almanıza gerek yoktur.
Bir örnek üzerinden inceleyelim. Değişkende bir dizge saklandığını varsayalım:
<?php
$name = 'name1';
?>
Bu durumda konumsal yer tutucunun dizge içine alınması gerekmez:
<?php
$sql = 'SELECT * FROM users WHERE name=?';
$res = $pdo->prepare();
$res->execute([$name]);
?>
İsimlendirilmiş yer tutucunun da dizge içine alınması gerekmez:
<?php
$sql = 'SELECT * FROM users WHERE name=:name';
$res = $pdo->prepare();
$res->execute(['name' => $name]);
?>
Sorguda her zaman dizgelerin olması, yine de bazen SQL sözdizimi ile ilgili sorunlara yol açabilir - sözdizimi gereği zorunlu olarak sayıların gerektiği yerlerde. Bu durumda, sonraki derslerde inceleyeceğimiz alternatif parametre bağlama yöntemini kullanabilirsiniz.