PHP'де PDO'до плейсхолдерлерди тырмакчага автоматтык түрдө ороп коюу
Техникалык жактан PDO баардык коюлуучу маанилерди тырмакчага ороп, аларды сап деп эсептейт, ал турмушта сандар болсо дагы. Бул SQL синтаксиси тарабынан уруксат берилген. Ошондуктан плейсхолдерлерди тырмакчага ороп коюунун кереги жок, эгер сиздин сап мааниңиз болсо.
Мисал менен карап көрөлү. Айталы, биздин өзгөрмөдө сап сакталып турат:
<?php
$name = 'name1';
?>
Позициялык плейсхолдерди бул учурда тырмакчага ороп коюунун кереги жок:
<?php
$sql = 'SELECT * FROM users WHERE name=?';
$res = $pdo->prepare();
$res->execute([$name]);
?>
Аталган плейсхолдер дагы тырмакчага ороп коюуну талап кылбайт:
<?php
$sql = 'SELECT * FROM users WHERE name=:name';
$res = $pdo->prepare();
$res->execute(['name' => $name]);
?>
Сурамда ар дайым саптар болору, бир аздыр-көптүр синтаксистик көйгөйлөргө алып келиши мүмкүн - синтаксис боюнча сандар милдеттүү болгон жерлерде. Бул учурда, биз кийинки сабактарда карай турган, альтернативдүү параметрлерди байлоо ыкмасын колдонсо болот.