Стоит ли перевести сайт на mysqli?

Ivanov

Новичок
Стоит ли перевести сайт на mysqli?

Собственно вопрос - есть ли смысл переписать сайт на работу с mysqli вместо mysql?
 

Духовность™

Продвинутый новичок
Хороший вопрос, меня тоже это интересует. У меня свой класс Database, к которому я привык и который меня устраивает. Что будет с mysql в будущем? Стоит ли переходить на mysqli?

tf
а в чем конкретная разница между PDO и mysqli?
 

FB3

Новичок
triumvirat
PDO вроде с объектами позволяет попроще работать. Например, строчку из базы сразу в объект зафетчить.
В общем, для ООП полезно, как написано на сайте PHP http://www.php.net/manual/en/intro.pdo.php
 

Krishna

Продался Java
FB3
Ты мало-мало с ORM попутал.

triumvirat
Плейсхолдеры, вместо ручного экранирования, генерация исключений, препаред стейтментс, облегченный переход на другую СУБД.
Мог бы и сам в мане прочитать :)
 

Духовность™

Продвинутый новичок
Krishna
это все ГДЕ? в PDO или в mysqli? Меня интересовали именно отличия одного от другого :)
 

Krishna

Продался Java
triumvirat
В mysqli объектный интерфейс, вроде поддержка тех же препейред стейтментс и современный протокол обмена с сервером. mysqli согласно ману следует использовать при работе с версиями mysql 4.1 и выше
 

Lightning

Трудоголик
Вроде mysqli быстрее mysql за счет нового протокола?

Если есть свой класс-обертка для работы с БД, то внутри него лучше mysqli использовать, имхо. Зачем PDO я не знаю. Препаред стейтментс не нужны. Про облегченный переход на другую СУБД вообще смешно. Генерацию исключений и экранирование самому можно сделать в своем классе.
 

zerkms

TDD infected
Команда форума
Lightning
зачем, если это уже и так есть готовое?
плюс в mysqli есть тонна неудобных моментов - например бессмысленный биндинг результатов.
пример: попробуй выбери prepared statement'ом SELECT * ...
 

Lightning

Трудоголик
zerkms
зачем, если это уже и так есть готовое?
свой интерфейс.
плюс в mysqli есть тонна неудобных моментов - например бессмысленный биндинг результатов.
пример: попробуй выбери prepared statement'ом SELECT * ...
Я не использую prepared statement-ы. Зачем их использовать?
 

fixxxer

К.О.
Партнер клуба
>>В mysqli объектный интерфейс, вроде поддержка тех же препейред стейтментс и современный протокол обмена с сервером. mysqli согласно ману следует использовать при работе с версиями mysql 4.1 и выше


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

FB3

Новичок
Krishna, где это я с ORM попутал? Я вполне отличаю PDO и ORM. PDO - PHP Data Object, само название как бы намекает :)
http://www.php.net/manual/en/pdostatement.fetchobject.php - не нужно создавать объект и задавать ему свойства, просто фетчишь прямо в существующий класс, указыв его имя в параметрах и получаешь объект этого класса.
Кроме этого PDO позволяет использовать в качестве БД не только мускуль.
 

Krishna

Продался Java
FB3
Ну в mysql_ так же можно
mysql_fetch_assoc а результаты приводишь к (Object) :)

Только это фигня полная, потому, что связи между объектами оно не позволит передать, а без этого объекты никого не интересуют.
 

fixxxer

К.О.
Партнер клуба
даже [m]mysql_fetch_object[/m] есть. делает то же самое, гыгы.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
я перешел на PDO давно, очень удобно
разница межде mysqli и pdo в том, что 1й лучше поддерживает некоторые фишки mysql, а ко 2му пишешь одну обертку и юзаешь с любой субд
API у них почти одинаковый

я юзаю по 2-3 базы в одном проекте, иногда разные
 
Сверху