PHP — как правильно делать экранирование данных перед вставкой в БД?
Да, Желательно использовать PDO. Почитать можно в доках языка, там вполне актуальная информация:PDO::prepare - Подготовка(компиляция) запросаPDO::bindParam - привязка параметраPDO::bindValue - привязка параметра 2 (Внимательне...
BindParam/Value отлично работают, в общем процесс происходит так: через метод PDO::prepare($query) подготавливается запрос (и более его изменить нельзя), он вернет PDOStatement который имеет сами методы bindParam/Value Через которые вы уже "привязываете данные к запросу". Так как запрос SQL уже был скомпилирован, то SQL инъекция уже невозможна (запрос отдельно от данных).
Помимо методов bindParam/Value данные можно передать напрямую при выполнении запроса методом PDOStatement::execute.
Работайте со своей БД с помощью этой библиотекиhttp://www.redbeanphp.com/index.php
Про всякие там SQL инъекции и другого бреда, можете забыть сразу