@Zezst
программист PHP

Mysqli vs PDO — что выбрать?

Здравствуйте!

Наткнулся недавно на статью.

И после ее прочтения осталось двойственное чувство. Вроде как обращение к MySQL через PDO — это true, но вместе с тем автор рассказывает о некоторых проблемах и высказывает свое «фи» некоторой избыточности кода. При этом, рекомендуя использовать библиотеку для работы с API mysqli. Либо готовую, либо если не лень — написать свою.

Вопрос к знающим людям: насколько актуально переходить на PDO? Особенно если учитывать, что есть свое подобие библиотеки, где обращение через mysqli легко заменить на обращение через PDO.
  • Вопрос задан
  • 22725 просмотров
Решения вопроса 1
AmdY
@AmdY
PHP и прочие вебштучки
PDO и mysqli — это две сильно разные вещи. PDO является универсальным DBAL, позволяющим работать с любой поддерживаемой базой.

mysqli это узкоспециализированный драйвер, благодаря чему можно использовать все преимущества, он поддерживает мультизапросы, чеснее биндит данные, позволяет собирать статистику.

если вы собираетесь использовать другие базы, то имеет смысл использовать PDO, да ито. придётся дополнять его квери билдером, чтобы получить реальную переносимость. в иных случаях пользуйтесь mysqli, который предоставляет больше функциональности.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
webdisigner
@webdisigner
mysqli выбирай, мозга не трахай Вася
Ответ написан
Комментировать
HighQuality
@HighQuality
☁ Ниндзя девелопер
Если что-то работает как надо, то стоит ли это менять? mysqli и PDO хорошо справляются со своей задачей (не стоит забывать, что у mysqli есть и оо-интерфейс).
Ответ написан
EugeneOZ
@EugeneOZ
PDO. Как-то странно Вы поняли автора — там нет рекомендации писать свой вариант, там есть лишь критика mysqli и рекомендации о том, как обойти ограничения PDO. Конечно, можно было бы поменьше нытья (все проблемы связаны только с плейсхолдерами и все они решаемы).

Код, который Вы пишете сейчас, будет нуждаться в сопровождении в будущем. А в будущем больше развития получит PDO, а не mysqli.
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега РНР
По-моему, там довольно ясно написано.
Если планируем использовать или писать DBAL для работы с Mysql — то mysqli.
Если от привычки обращаться напрямую к функциям API избавиться никак не получается — то только PDO, поскольку эта библиотека частично реализует функции DBAL, а большая часть тонкостей, реализованных в mysqli, разработчику никогда в жизни не понадобится.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы