Когда я должен использовать MySQLi вместо MySQL?
Может кто-нибудь уточнить для меня, какие преимущества и недостатки использования MySQLi вместо MySQL? Существуют ли ситуации, когда я не должен использовать MySQLi? Нужно ли мне настраивать свой сервер по-разному, чтобы использовать MySQLi? Например, мне нужно обновить Apache или PHP, чтобы я мог поддерживать MySQLi?
Ответы
Ответ 1
Причины, по которым вы должны использовать расширение MySQLi вместо расширения MySQL, много:
- MySQLi дает вам подготовленные заявления - более безопасный способ отправки данных в MySQL и защиты от SQL-инъекции. Этого должно быть достаточно, чтобы всегда выбирать MySQLi через MySQL.
- MySQLi позволяет использовать большинство функций MySQL.
- MySQLi ориентирован на объект.
- MySQLi поддерживает подготовленные операторы, транзакции и несколько операторов.
- Старое расширение MySQL устарело от PHP 5.5.0
И есть и другие преимущества. Но главным образом, вы должны сосредоточиться на безопасности и stabiltity - и MySQLi дает вам именно это.
Ответ 2
Команда PHP отказывается поддерживать расширение mysql. Эта причина достаточно одна.
Все остальные причины не имеют большого смысла:
- MySQLi дает вам подготовленные операторы - можно использовать старый mysql с ручным управлением plaeholders и получить еще более безопасный. Это само по себе должно остановить MySQL от бесполезной усталости.
- MySQLi позволяет использовать большинство функций MySQL, о которых большинство пользователей PHP никогда не слышали.
- MySQLi ориентирован на объекты - пара прямых рук может сделать старый mysql objec ориентированным в течение нескольких часов.
- * Поддержка MySQLi
Итак, нет никаких преимуществ.
Если вы хотите согласиться с не устаревшим, но используемым расширением - перейдите к PDO.
Ответ 3
Если вы используете mysql
> 4.1.3. Mysqli - это новый интерфейс для mysql в php. Цитата из http://www.php.net/manual/en/mysqli.overview.php
Что такое расширение PHP MySQL?
Это первоначальное расширение, предназначенное для разработки 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.
Ответ 4
Всегда, если это возможно.
Возможно, MySQLi не поддерживается вашей установкой PHP. Однако большинство хостинг-провайдеров поддерживают MySQLi.
Ответ 5
Если вы не используете старую версию базы данных MySQL (до 4.1.3) или требуете некоторой функциональности, еще не включенной в MySQLi (я думаю, что есть одна из двух функций, которые не были перемещены), тогда придерживайтесь MySQLi когда вы когда-либо можете.