Дубликат: mysqli или PDO – каковы плюсы и минусы?
Я ищу, чтобы переместить веб-сайт из mysql в mysqli или pdo как в основном в инструмент обучения, но также и по мере увеличения производительности.
Я прочитал http://php.net/manual/en/mysqli.overview.php, и мне кажется, что оба они будут соответствовать моим потребностям, но это не сильно зависит друг от друга.
В настоящее время сайт использует преимущественно не ориентированный на объект код, но у меня есть опыт работы с OO на других языках. Огромное большинство запросов – это простые сложные команды выбора с очень небольшим количеством обновлений / вставок. Что вы предлагаете как наиболее полезное как из моего собственного образования, так и для этого конкретного сайта?
Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.
Благодарю.
PDO Pro:
Mysqli Con:
В противном случае обе библиотеки в основном разные вкусы одного и того же. Оба они имеют функции для указания параметров и поддерживают параметры с параметризованными запросами.
Если ни один из приведенных выше аргументов не повлияет на вас, тогда перейдите к любой библиотеке, которую вы предпочитаете, в зависимости от ее синтаксиса, стиля и т. Д.
Я не считаю, что PDO даст вам какое-то увеличение производительности, но это дает вам эти две очень привлекательные долгосрочные выгоды:
Если вы не понимаете преимуществ для # 1 и # 2, тогда просто придерживайтесь проверенной и истинной библиотеки mysql ( вы хотя бы используете mysql_real_escape_string, хотя, правильно )?
Если бы я изучал новую библиотеку баз данных PHP, я считаю, что PDO – это путь, особенно если вы создаете веб-приложение, которое может использоваться в различных системах, отличных от вашего собственного сервера.
С http://www.php.net/manual/en/mysqli.overview.php :
Хотя у PDO есть свои преимущества, такие как простой, простой и портативный API, его основным недостатком является то, что он не позволяет использовать все расширенные функции, доступные в последних версиях MySQL-сервера. Например, PDO не позволяет вам использовать поддержку MySQL для нескольких операторов.
PDO предлагает отличную безопасность, чем другие без особых проблем, но для перехода я бы предложил вам перейти на mysqli, так как это быстрее, проще, чем PDO, и большинство api / syntax совершенно одинаковы со старым расширением mysql
См. Здесь (прокрутите ниже) для быстрого сравнения:
PHP и MySQLi
Изменить: выглядит так же, как вы читали раньше, извините
При создании моей библиотеки ORM и абстракции я использовал MySQLi и PDO, чтобы увидеть, какой из них лучше работает. MySQLi был быстрее – но этого недостаточно, чтобы сделать выбор на основе этого.
Одна вещь, с которой MySQLi / MySQL / SQLite или любая другая независимая библиотека имеет над PDO, заключается в том, что они возвращают количество строк, найденных в результате, что часто помогает протестировать любые результаты вообще. Между тем, в PDO вы либо получаете результаты fetchAll (), либо count (), либо запускаете запрос count перед тем, как просмотреть количество результатов. Поэтому вам придется адаптироваться для решения этой проблемы по-разному.
О, и я в конечном итоге выбираю PDO над MySQLi.