Подтвердить что ты не робот

Перемещение из mysql в mysqli или pdo?

Дубликат: mysqli или PDO - каковы плюсы и минусы?

Я хочу переместить веб-сайт из mysql в mysqli или pdo, как в основном, в инструмент обучения, но также и по мере увеличения производительности.

Я прочитал http://php.net/manual/en/mysqli.overview.php, и похоже, что оба они подойдут моим потребностям, но это не сильно упирается.

В настоящее время сайт использует преимущественно не ориентированный на объект код, но у меня есть опыт работы с OO на других языках. Огромное большинство запросов - это простые сложные команды выбора с очень небольшим количеством обновлений/вставок. Что вы предлагаете как наиболее полезное как из моего собственного образования, так и для этого конкретного сайта?

Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.

Спасибо.

4b9b3361

Ответ 1

PDO Pro's:

  • Родной для PHP с 5.x
  • Поддерживает именованные параметры в противоположность для численного индексирования?
  • Библиотека с одинаковой абстракцией поддерживает несколько различных RDBM

Mysqli Con's:

  • Имеет проблемы с надлежащим хранением и извлечение больших объектов в базы данных.
  • Нет поддержки именованных параметров.

В противном случае обе библиотеки в основном разные вкусы одного и того же. Оба они имеют функции, чтобы указывать параметры, и обе поддерживают параметризованные запросы.

Если ни один из приведенных выше аргументов не повлияет на вас, перейдите к любой библиотеке, которую вы предпочитаете, в зависимости от ее синтаксиса, стиля и т.д.

Ответ 2

Я не верю, что PDO даст вам любое увеличение производительности, но это дает вам эти две очень привлекательные долгосрочные преимущества:

  • вы можете масштабировать свое приложение, чтобы использовать другие базы данных с несколькими изменениями кода.
  • библиотека PDO имеет большую часть безопасности, встроенной в

Если вы не понимаете преимуществ для # 1 и # 2, то просто придерживайтесь проверенной и истинной библиотеки mysql (вы хотя бы используете mysql_real_escape_string, хотя, правильно)?

Если бы я изучал новую библиотеку баз данных PHP, я считаю, что PDO - это путь, особенно если вы создаете веб-приложение, которое может использоваться в различных системах, отличных от вашего собственного сервера.

Ответ 3

Из http://www.php.net/manual/en/mysqli.overview.php:

Хотя у PDO есть свои преимущества, такие как чистый, простой, портативный API, его основным недостатком является то, что он не позволяет вам использовать все расширенные функции, доступные в последних версиях MySQL сервер. Например, PDO не позволяет использовать поддержку MySQL для Несколько выражений.

Ответ 4

PDO предлагает отличную безопасность, чем другие без особых проблем, но для перехода я бы предложил вам перейти на mysqli, поскольку он быстрее, проще, чем PDO, и большинство api/syntax совершенно одинаковы со старым расширением mysql

Смотрите здесь (прокрутите ниже) для быстрого сравнения:
PHP и MySQLi

Изменить: выглядит так же, как вы читали раньше, извините

Ответ 5

При создании моей библиотеки ORM и абстракции я использовал MySQLi и PDO, чтобы увидеть, какой из них лучше работает. MySQLi был быстрее - но этого недостаточно, чтобы сделать выбор на основе этого.

Одна вещь, которую MySQLi/MySQL/SQLite или любая другая независимая библиотека имеет над PDO, заключается в том, что они возвращают количество найденных в результате строк, что часто помогает проверить любые результаты вообще. Между тем, в PDO вы либо получаете результаты fetchAll(), либо count(), либо запускаете запрос count перед тем, как просмотреть количество результатов. Поэтому вам придется адаптироваться для решения этой проблемы по-разному.

О, и в конце я выбираю PDO над MySQLi.