PDO MySQL :Использовать PDO ::ATTR _EMULATE _ПОДГОТОВКА или нет?

Это то, что я читал до сих пор оPDO::ATTR_EMULATE_PREPARES:

  1. Эмуляция подготовки PDO лучше для производительности, так как собственная подготовка MySQL обходит кеш запросов .
  2. Собственная подготовка MySQL лучше обеспечивает безопасность (предотвращает SQL-инъекцию).
  3. Собственная подготовка MySQL лучше подходит для отчетов об ошибках .

Я больше не знаю, насколько верно любое из этих утверждений. Больше всего меня беспокоит выбор интерфейса MySQL для предотвращения SQL-инъекций. Вторая проблема — производительность.

Мое приложение в настоящее время использует процедурный MySQLi (без подготовленных операторов )и использует кеш запросов совсем немного. Он редко -использует подготовленные операторы в одном запросе. Я начал переход на PDO из-за именованных параметров и безопасности подготовленных операторов.

Я использую MySQL 5.1.61и PHP 5.3.2

. Должен ли я оставить PDO::ATTR_EMULATE_PREPARESвключенным или нет? Есть ли способ обеспечить как производительность кеша запросов, так и безопасность подготовленных операторов?

113
задан Community 23 May 2017 в 11:33
поделиться