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