PDO da PHP-da pleysexolderlarning avtomatik qo'shtirnoq ichiga olinishi
Texnik jihatdan PDO barcha qo'shiladigan qiymatlarni qo'shtirnoq ichiga oladi, ularni satr deb hisoblab, hatto ular aslida raqamlar bo'lsa ham. Bu SQL sintaksisi tomonidan qabul qilinadi. Shuning uchun pleysexolderlarni qo'shtirnoq ichiga olishingiz shart emas, agar sizda satr qiymati bo'lsa.
Keling, bir misolni ko'rib chiqaylik. Faraz qilaylik o'zgaruvchida satr saqlanayotgan bo'lsin:
<?php
$name = 'name1';
?>
Pozitsion pleysexolderni bu holatda satr ichiga olish shart emas:
<?php
$sql = 'SELECT * FROM users WHERE name=?';
$res = $pdo->prepare();
$res->execute([$name]);
?>
Nomi bilan berilgan pleysexolderni ham satr ichiga olish shart emas:
<?php
$sql = 'SELECT * FROM users WHERE name=:name';
$res = $pdo->prepare();
$res->execute(['name' => $name]);
?>
So'rovda har doim satrlar bo'lishi, shunday bo'lsa-da, ba'zida muammolarga olib kelishi mumkin SQL sintaksisi bilan - sintaksis jihatidan majburiy raqamlar bo'lgan joylarda. Bu holda foydalanish mumkin parametrlarni bog'lashning muqobil usuli, keyingi darslarda ko'rib chiqamiz.