В чем разница между MySQL, MySQLi и PDO?
Какой из них лучше всего подходит для использования с PHP-MySQL?
В чем разница между MySQL, MySQLi и PDO?
Какой из них лучше всего подходит для использования с PHP-MySQL?
Существует (более) три популярных способа использования MySQL из PHP. Здесь изложены некоторые особенности/различия PHP: Выбор API:
Я бы рекомендовал использовать PDO с подготовленными заявлениями. Это хорошо разработанный API, который позволит вам легче переходить к другой базе данных (включая любую, которая поддерживает ODBC) при необходимости.
Это разные API-интерфейсы для доступа к бэкэнду MySQL
Так что это зависит от того, какой код вы хотите произвести. Если вы предпочитаете объектно-ориентированные слои или простые функции...
Мой совет будет
Также мое чувство, mysql API, вероятно, будет удалено в будущих выпусках PHP
.
Существует таблица сравнивающая три функции API. Используйте Mysqli, когда это возможно, как последнее, запущенное после PDO, и оно будет поддерживаться в будущем.
mysqli - расширенная версия mysql.
Расширение PDO определяет легкий, согласованный интерфейс для доступа к базам данных в PHP. Каждый драйвер базы данных, реализующий интерфейс PDO, может выставлять функции, специфичные для базы данных, в качестве регулярных функций расширения.
В частности, расширение MySQLi предоставляет следующие чрезвычайно полезные преимущества для старого расширения MySQL..
Интерфейс OOP (в дополнение к процедурной) Поддержка подготовленных заявлений Поддержка транзакций + сохраненная процедура Более чистый синтаксис Улучшения скорости Расширенная отладка
Расширение PDO
Расширение объектов данных PHP - это уровень абстракции базы данных. В частности, это не интерфейс MySQL, поскольку он предоставляет драйверы для многих движков баз данных (конечно, включая MYSQL).
PDO стремится обеспечить согласованный API, который означает, что при изменении механизма базы данных код изменяется, чтобы отразить это, должен быть минимальным. При использовании PDO ваш код будет обычно "работать" во многих механизмах базы данных, просто изменив используемый вами драйвер.
В дополнение к совместимости с несколькими базами данных, PDO также поддерживает подготовленные операторы, хранимые процедуры и многое другое, используя драйвер MySQL.
Просто мы можем сказать, что улучшено расширение MySQL, предлагающее различные преимущества. Расширение mysqli позволяет вам получить доступ к функциям, предоставляемым MySQL 4.1 и выше.
Расширение PHP Data Objects (PDO) определяет легкий, согласованный интерфейс для доступа к базам данных на PHP. Каждый драйвер базы данных, реализующий интерфейс PDO, может выставлять функции, специфичные для базы данных, как регулярные функции расширения. Обратите внимание, что вы не можете выполнять какие-либо функции базы данных, используя само расширение PDO; вы должны использовать драйвер PDO для конкретной базы данных для доступа к серверу базы данных.