Я разработал веб-сайт до 5 лет с использованием PHP MySQL и все еще отлично работает без каких-либо проблем. Я слышал, что MySQL официально устарел с PHP 5.5 и был удален с PHP 7. Кроме того, PHP предлагает три разных API для подключения к MySQL (например, MySQL, MySQLi и PDO). Мой веб-сервер часто обновляется.
Я понял, мне нужно перейти на новый API, такой как MySQLi или PDO для обеспечения безопасности. Теперь я смущен, нужно ли выбирать MySQLi или PDO. Кроме того, существуют ли какие-либо варианты совместимости / миграции для такого случая?
Ответ довольно прост.
Если, как и большинство пользователей PHP, вы будете использовать функции API баз данных прямо в коде приложения, без какой-либо промежуточной оболочки, тогда PDO – ваш единственный выбор, поскольку он уже является своего рода оболочкой, автоматизируя многие операции, которые с mysqli должны выполняться вручную.
Нет, нет параметров миграции, потому что сам подход сильно меняется: вместо того, чтобы размещать переменные прямо в запросе, они должны быть заменены в запросе специальными отметками. Невозможно автоматизировать этот процесс.
Давайте посмотрим на оба этих расширения.
PDO
PDO – нейтральная база данных. Вам нужно только изучить один API для работы с десятками баз данных
Поэтому, если вы решите перейти на другую базу данных, единственное, что вы бы изменили, это DSN (имя источника данных).
Поддержка имени и «?» заполнители для подготовленных заявлений.
Drupal использует PDO.
Mysqli
С другой стороны, Mysqli разработан специально для баз данных Mysql и рекомендован Mysql. Mysqli работает с базами данных Mysql и MariaDB.
Поддержка только '?' заполнители для подготовленных заявлений.
Joomla использует Mysqli
Вывод
Существует много противоречивых аргументов погоды Mysqli или PDO работает быстрее. Оба Mysqli и PDO используют одни и те же базовые драйверы для доступа к базе данных, что делает невозможным сравнение производительности.
Таким образом, нет четкого победителя при работе с Mysqli или PDO. Но предположим, что вы используете Mysqli, а затем вы хотите использовать другую базу данных, это будет сложный переход.
Основная сила PDO над Mysqli – это имя заполнителя для подготовленных операторов, и именно поэтому я выбрал PDO над Mysqli.
PDO и MySQli используются для подключения к базе данных, и оба имеют свои преимущества. При ближайшем рассмотрении PDO выигрывает битву, но если вы действительно придерживаетесь только одного провайдера базы данных, то моим личным лучшим выбором является использование MySQLi.
Вы также получите некоторые полезные пункты: http://code.tutsplus.com/tutorials/pdo-vs-mysqli-which-should-you-use–net-24059