Evgeniy
там апи даже почти одинаковые
Ivan
pdo это кончита вурст))))
Ivan
по началу
Evgeniy
если прежде чем советовать разобраться в предмете
Evgeniy
можно лучше посоветовать
The Ant
что советовать? Использовать подготовленные выражения?
Evgeniy
ты написал про pdo а не подготовленные выражения
The Ant
на кой нужен вообще этот мускли_реал_ескейп?
The Ant
ну так то подразумевает как бы
Evgeniy
что подразумевает?
The Ant
использование подготовыленных, вместо того дерьма что на скрине
Evgeniy
у pdo есть метод query где выполняет любой запрос
Evgeniy
использование подготовыленных, вместо того дерьма что на скрине
ну так и напиши что используй подготовленные выражения
Evgeniy
это можно сделать и на mysqli
Evgeniy
я даже выше ссылку дал
Evgeniy
а так получается пук в лужу
Evgeniy
или советы из разряда поставь ORM
The Ant
кек
The Ant
гуру мускула, не буду отвлекать тебя больше
Evgeniy
нет не гуру просто не чайник как ты
A
спокойно,пацаны.потом пиписьками мерится будете.что делать-то?
The Ant
ответь не чайник, в чем особенность подготовенных выражений в пдо?
Владимир
спокойно,пацаны.потом пиписьками мерится будете.что делать-то?
Тебе просто указать линк на подключение и дальше довольствоваться процедуркой
Anonymous
спокойно,пацаны.потом пиписьками мерится будете.что делать-то?
реал_эскейп используй для входяших данных
Evgeniy
спокойно,пацаны.потом пиписьками мерится будете.что делать-то?
написал же используй placholder по русски это подготовленные выражения
Evgeniy
дал даже ссылку с примерами
A
http://php.net/manual/ru/mysqli.real-escape-string.php читать раздел "Список параметров", А конкретно про link
здесь прочел,что линк надо первым везде выставить.вчера полночи этим занимался
Evgeniy
гугли читай
Evgeniy
реал_эскейп используй для входяших данных
не использовать его от слова совсем
The Ant
гугли читай
жду ответа не чайник
Anonymous
sqli разве сам оборачивает входяшие данные?
Anonymous
**экранизирует
Evgeniy
жду ответа не чайник
в том что у PDO есть опция эмуляция подготовленных выражений
A
http://php.net/manual/ru/mysqli.quickstart.prepared-statements.php
вот эта ссылка,про нее говоришь?
Evgeniy
и в том что PDO по факту не использует подготовленные выражения
Evgeniy
а использует эмуляцию
The Ant
ок, не чайник, тест пройден )
Evgeniy
это кстате норм вопрос
Evgeniy
многие не знают
Evgeniy
где запрос
Evgeniy
а где данные
Evgeniy
это называется подготовленные выражения (prepared statment)
Evgeniy
когда ты пишешь запрос в общем виде
Evgeniy
например
Evgeniy
SELECT * FROM users where id = :id
Evgeniy
а потом вместо :id подставляешь данные пользователя
Anonymous
угу
Evgeniy
например пришел человек по ссылке /users/123
Anonymous
в pdo так вроде и делается
Anonymous
ассоциация
Evgeniy
это называется подготовленные выражения
Anonymous
с переменной
Evgeniy
и делает в любом нормальном инструменте
Anonymous
заранее экранизированная на сколько я понял
Anonymous
когда разбирался
Evgeniy
конкретно этот пример это именнованные параметры
Evgeniy
он заранее ничего не экранирует
Evgeniy
сообщает базе данных
Evgeniy
что это все значение параметра
Evgeniy
и парсер (интерпретатор) запроса бд это все считает данными
Evgeniy
и не воспринимает там спец символы
Evgeniy
но в pdo эта штука по умолчанию на уровне пхп сделана и там есть забавные штуки
Evgeniy
например если в pdo сделать
Evgeniy
$pdo->query('select 123');
Evgeniy
должно как бы вернуться (int) 123
Evgeniy
а на самом деле вернет (string) "123"
Evgeniy
если тоже самое сделать в mysqli
A
нееее,сложно.пойду в stackoverflow.всем спасибо
Evgeniy
$mysqli->query('select 123')
Evgeniy
то mysqli возвращает int 123 как ты и ожидаешь
Anonymous
с новом годом
Aleksandr
а использует эмуляцию
это же если драйвер не поддерживает нормальные подготовленные выражения
Evgeniy
а если у pdo при создание передать атрибутPDO::ATTR_EMULATE_PREPARES = false
Evgeniy
то будет ожидаемо
Evgeniy
ты можешь создать инстанс pdo для подключения к mysql