MySQL против PDO

Я новичок в PHP и создал веб-сайт среднего размера с использованием стандартных запросов к базе данных MySQL. Тем не менее, я недавно узнал о PDO, и я надеюсь узнать об этом в сообществе, если стоит переключиться с MySQL на PDO. Для безопасности я использовал mysql_real_escape_string.

Информация о сайте:
Я использую сочетание вызовов INSERT и SELECT. Данные, возвращенные из вызовов SELECT, не массивны (не более 30 записей, возвращаемых с помощью LIMIT). Там также не будет много INSERT s. Сайт в настоящее время не живет, и поэтому внесение изменений теперь легко.

В ваших профессиональных мнениях, стоит ли мне переключить сайт на PDO из MySQL? Или остался с MySQL так же хорош? Или, другими словами, какова будет причина, если таковая вообще возникнет, переключиться на PDO сейчас?

Ответы

Ответ 1

PDO обладает следующими преимуществами над функциями mysql_ *:

  • Он перекрещивается с базой данных, что означает тот же интерфейс для разных реляционных баз данных.
  • Он защищает от инъекций SQL.
  • Он намного чище (использует объектно-ориентированный подход).

Этот вопрос задан раньше, вы можете взглянуть на ответы:

Если вы начинаете новый проект, я бы строго предложил использовать PDO или библиотеку более высокого уровня /ORM. Если у вас уже есть много кода, написанного без него, возможно, это не стоит.

Ответ 2

PDO имеет преимущества, перечисленные выше на страницах, связанных выше: абстракция базы данных (т.е. ваш код становится переносимым по разным вкусам БД), он обрабатывает много обычных проблем безопасности для вас, если вы используете его подготовленный и возвращает результаты как экземпляры класса (которые сами по себе могут значительно улучшить ваш код, поощряя объектно-ориентированный подход) и т.д. и т.д.

Однако самый лучший подход был бы для вас взглянуть на библиотеку ORM, такую ​​как Doctrine. Это может показаться излишним, учитывая размер вашего проекта, но, откровенно говоря, никогда не начинать изучать лучшие практики. Обзор отличного того, как создавать пуленепробиваемые, поддерживаемые приложениями с поддержкой баз данных, предоставленные ведущим разработчиком Zend Framework, можно посмотреть на http://mtadata.s3.amazonaws.com/webcasts/20090724-playdoh.wmv