MySQLi vs. PDO

473
.
(\/)____o_O____(\/)
хотелось бы обсудить и сравнить , прочитав несколько статей сложилось не однозначное мнение
.
(\/)____o_O____(\/)
оф документация
MySQLi - http://php.net/manual/ru/book.mysqli.php
PDO - http://php.net/manual/ru/ref.p ... l.php
http://php.net/manual/ru/class.pdo.php
.
Х.з, юзаю ПДО уже очень давно.
Мускли пробовал, но интерфейс очень не удобен, особенно то, что касается подготовленных выраженний.
.
(\/)____o_O____(\/)
статья http://habrahabr.ru/post/137664/ знакомство
.
(\/)____o_O____(\/)
L!MP, подготовленные выражения на много отличаются, столкнулся с многими камнями при написании класса, в PDO удобнее без спорно
.
Тоже год наверно юзаю пдо и очень доволен.
.
Koenig (22.09.2012/15:11)
L!MP, подготовленные выражения на много отличаются, столкнулся с многими камнями при написании класса, в PDO удобнее без спорно
Ну тогда зочем писал класс с mysqli?
Или мсье знаток извращений?
.
MySQLi по сути является объектным интерфейсом для MySQL API в пыхе. В свою очередь PDO это универсальный адаптер для работы с различными СУБД. Другими словами, если ты работаешь только с mysql базой, то можно смело глядеть в сторону mysqli, так как это тот же pdo, только без возможности смены СУБД, если же ты собираешься писать универсальную систему, независимую от СУБД (на пример работающую как с MySQL так и с PostgreSQL), то стоит использовать PDO, в котором конечно не так много плюшек для работы с MySQL, но зато есть возможность легко заменить одну СУБД другой без ковыряния в коде (простой сменой драйвера).

MySQLi является пакетом классов для работы именно с MySQL, в то время как PDO является набором классов для работы с любой СУБД, но естественно в MySQLi будет больше плюшек для работы, так как многие эти плюшки невозможно реализовать в PDO в связи с его кроссплатформенностью.
.
╭∩╮ (`-`) ╭∩╮
Delphinum (22.09.2012/21:57)
можно смело глядеть в сторону mysqli, так как это тот же pdo, только без возможности смены СУБД
Ну далеко не совсем
Вот списки имеющихся функций:
PHP mysqli: http://php.net/manual/ru/book.mysqli.php
PHP PDO: http://php.net/manual/ru/book.pdo.php
Даже на беглый взгляд сразу заметишь разницу.

Да, PDO проще в работе, он хорошо подходит для "лентяев" и любителей фреймворков.
Но из-за своей универсальности, страдают некоторые продвинутые функции.
Если хочешь с конкретной базы данных выжать все по максимуму и получить максимальное быстродействие, абстракцию использовать нельзя. Конечно это утверждение не относится к простейшим стандартным запросам, с этим отлично (без видимой разницы в производительности) справляются и абстрактные библиотеки и специализированные.
.
не на много медленнее пдо
Всего: 16