Когда я должен использовать MySQLi вместо MySQL? - PullRequest
15 голосов
/ 17 января 2012

Может кто-нибудь уточнить для меня, в чем преимущества и недостатки использования MySQLi вместо MySQL? Есть ли ситуации, когда я не должен использовать MySQLi? Нужно ли настраивать свой сервер по-другому, чтобы использовать MySQLi? Например, мне нужно обновить Apache или PHP, чтобы я мог поддерживать MySQLi?

Ответы [ 5 ]

34 голосов
/ 17 января 2012

Причин, по которым вам следует использовать расширение MySQLi вместо расширения MySQL, множество:

  1. MySQLi дает вам подготовленные операторы - более безопасный способ отправки данных в MySQL и защиты от внедрения SQL. Одного этого должно быть достаточно, чтобы всегда выбирать MySQLi вместо MySQL .
  2. MySQLi включает большинство функций MySQL.
  3. MySQLi является объектно-ориентированным.
  4. MySQLiподдерживает подготовленные операторы, транзакции и множественные операторы.
  5. Старое расширение MySQL устарело, начиная с PHP 5.5.0

И есть другие преимущества.Но в основном вы должны сосредоточиться на безопасности и стабильности - и MySQLi дает вам именно это.

8 голосов
/ 17 января 2012

PHP команда отказывается от поддержки расширения MySQL в дальнейшем.Эта причина достаточно одна.

Все остальные причины не имеют особого смысла:

  • MySQLi дает вам подготовленные операторы - старый mysql можно использовать вручнуюОбращайтесь с держателями и станьте еще безопаснее .Одно это должно остановить MySQL от бесполезного устаревания.
  • MySQLi поддерживает большинство функций MySQL , о которых большинство пользователей PHP никогда не слышали.
  • MySQLi - этообъектно-ориентированный - пара прямых рук может сделать старый объект mysql ориентированным за несколько часов.
  • * MySQLi поддерживает

Так что, никаких преимуществ вообще нет.
Если вы хотите ладить с неотрицательнымино полезное расширение - перейдите на PDO .

4 голосов
/ 17 января 2012

Если вы используете mysql> 4.1.3. Mysqli - это новый интерфейс для mysql в php. Цитата от http://www.php.net/manual/en/mysqli.overview.php

Что такое расширение MySQL от PHP?

Это оригинальное расширение, предназначенное для разработки приложений PHP, которые взаимодействуют с базой данных MySQL. Расширение mysql предоставляет процедурный интерфейс и предназначено для использования только с версиями MySQL старше 4.1.3. Это расширение можно использовать с версиями MySQL 4.1.3 или новее, но не все новейшие функции сервера MySQL будут доступны.

Note:

If you are using MySQL versions 4.1.3 or later it is strongly recommended that you 
use the mysqli extension instead.
2 голосов
/ 17 января 2012

Всегда, если возможно.

Возможно, MySQLi не поддерживается вашей установкой PHP.Однако большинство провайдеров хостинга поддерживают MySQLi.

0 голосов
/ 17 января 2012

Если вы не используете старую версию базы данных MySQL (до 4.1.3) или не требуете некоторых функций, еще не включенных в MySQLi (я думаю, что есть одна из двух функций, которые не были перемещены), тогда придерживайтесь MySQLi когда сможешь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...