настоящая escape-строка и PDO

Я использую PDO после миграции из библиотеки mysql. Что я использую вместо старой функции real_escape_string ?

Мне нужно избежать одиночных кавычек, чтобы они вошли в мою базу данных, и я думаю, что может быть лучший способ справиться с этим без добавления (ing) косых черт ко всем моим строкам. Может ли кто-нибудь сказать мне, что я должен использовать?

Вы должны использовать PDO Prepare

Из ссылки:

Вызов PDO :: prepare () и PDOStatement :: execute () для операторов, которые будут выдаваться несколько раз с разными значениями параметров, оптимизирует производительность вашего приложения, позволяя водителю согласовывать кеширование клиентов и / или серверов в плане запроса и метаинформации и помогает предотвратить атаки SQL-инъекций, устраняя необходимость вручную указывать параметры .

PDO предлагает альтернативу, предназначенную для замены mysql_escape_string () методом PDO :: quote () .

Вот выдержка с сайта PHP:

 <?php $conn = new PDO('sqlite:/home/lynn/music.sql3'); /* Simple string */ $string = 'Nice'; print "Unquoted string: $string\n"; print "Quoted string: " . $conn->quote($string) . "\n"; ?> 

Вышеприведенный код выводит:

 Unquoted string: Nice Quoted string: 'Nice' 

Используйте подготовленные заявления. Они сохраняют данные и синтаксис отдельно, что устраняет необходимость экранирования данных MySQL. См., Например, этот учебник .