Переключить большой сайт с MySQL на MySQLi

Я хочу переключиться с MySQL на MySQLi, но у меня очень большой сайт.

Я прочитал, что https://wikis.oracle.com/display/mysql/Converting+to+MySQLi может мне помочь, и я прочитал. Как я могу изменить этот mysql на mysqli? , В нем говорится, что я мог бы заменить большинство функций, просто добавив «i» в функцию, и что я должен начать bughunting.

Но мой сайт очень сложный и большой, и для проверки, все ли работает, потребуется очень много времени. Итак: какой лучший способ переключиться с MySQL на MySQLi на очень большой сайт?

Благодаря!

Solutions Collecting From Web of "Переключить большой сайт с MySQL на MySQLi"

На ваш вопрос нет простого ответа, так как практически каждый простой способ сделать это в том, чтобы делать что-то по-другому, когда приложение было написано.

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

Вы не можете просто уйти с добавлением i к командам типа mysql_query, поскольку процедурный mysqli_query() требует, чтобы первый параметр был ссылкой на db, где с mysql_query() если соединение было дано вообще, это был второй параметр.

Вместо того, чтобы просто менять mysql_query (…) на mysqli_query ($ link, …..), я бы рекомендовал, чтобы не было лучшего времени для добавления слоя абстракции db. Поэтому используйте функции sql_query (), которые фактически обрабатывают ваши запросы, поэтому в будущем, если вам нужно снова изменить БД, вы можете просто обновить отдельные команды db в одном файле абстракции. Таким образом, если вы напишете функцию, которая обертывает mysqli_query, вы сможете просто переименовать свой mysql_query () в свою вспомогательную функцию и позволить вспомогательной функции беспокоиться о том, чтобы установить ссылку там.

Хотя это самый простой способ, он не будет связывать параметры или готовить заявления, которые являются основным фактором предотвращения уязвимостей SQL-инъекций

После того как вы изменили все эти команды, вам нужно протестировать.

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

вы делаете правильный ход, потому что функция mysql_ * устарела для последней версии php. вы должны скачать конвертер для этой цели … см. это и скачать … mysql to mysqli