НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
⊗ppSpPDNP 62 of 83 menu

Автооборачнивание плейсхолдеров в кавычки в PDO в PHP

Технически 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]); ?>

To, что в запросе всегда будут строки, все-таки иногда может приводить к проблемам с синтасисом SQL - там, где по синтаксису обязательно числа. В этом случае можно воспользоваться альтернативным способом привязки параметров, который мы разберем в следующих уроках.

Русский
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить