PDO-də pleyholderlərin avtomatik dırnaq işarələri içərisinə alınması PHP-də
Texniki cəhətdən PDO, əslində rəqəm olsalar belə, onları sətir hesab edərək, bütün daxil edilən dəyərləri dırnaq işarələri içərisinə alır. Bu SQL sintaksisinə icazə verilir. Buna görə də, əgər sizin sətir dəyəriniz varsa, pleyholderləri dırnaq işarələri içərisinə almağa ehtiyac yoxdur.
Nümunə ilə baxaq. Tutaq ki, dəyişəndə bir sətir saxlanılır:
<?php
$name = 'name1';
?>
Bu halda, pozisional pleyholderi sətirə daxil etmək lazım deyil:
<?php
$sql = 'SELECT * FROM users WHERE name=?';
$res = $pdo->prepare();
$res->execute([$name]);
?>
Adlı pleyholderi də sətirə daxil etmək lazım deyil:
<?php
$sql = 'SELECT * FROM users WHERE name=:name';
$res = $pdo->prepare();
$res->execute(['name' => $name]);
?>
Sorğuda həmişə sətirlərin olacağı faktı, buna baxmayaraq, bəzən sintaksis cəhətdən mütləq rəqəm olan yerlərdə SQL sintaksisi ilə bağlı problemlərə səbəb ola bilər. Bu halda, parametrləri bağlamaq üçün alternativ üsuldan istifadə edə bilərsiniz, bu da biz növbəti dərslərdə nəzərdən keçirəcəyik.