В чем разница между MySQL, MySQLi и PDO ?
Какой из них лучше всего подходит для использования с PHP-MySQL?
Есть более чем три популярных способа использования MySQL с PHP.
Я бы рекомендовал использовать PDO с подготовленными инструкциями. Это хорошо разработанный API и позволит вам более легко перейти к другой базе данных (включая любые, поддерживающие ODBC ), если это необходимо.
Это разные API-интерфейсы для доступа к серверу MySQL
Так что это зависит от того, какой код вы хотите произвести. Если вы предпочитаете объектно-ориентированные слои или простые функции …
Мой совет будет
Также мое чувство, API mysql, вероятно, будет удален в будущих версиях 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 для конкретной базы данных для доступа к серверу базы данных.