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