Как заменить mysql на mysqli в проекте?

Когда то давно я писал проект на php (сайт, систему) и использовал соединение с базой через mysql.
Разумеется, это расширение устарело. И с современной конфигурацией оно не работает.
Менять конфигурацию (даже Open Server) не имеет смысла, ровно как и ставить устаревший LAMP (если это ещё возможно).

Попробовав изменить mysql на mysqli я столкнулся с проблемой - куча функций по всему проекту настроены на работу с mysql:
mysql_fetch_assoc
mysql_query
mysql_num_rows
....

Даже массовые замены через notepad++ (заменить в файлах текст) не сильно помогли.
Ведь mysqli требуется ссылка на подключение. Надо ее передавать, менять код функций - их вызова, параметры..
Это переписывать 30% проекта, отлаживать...

Что делать?
Как заменить mysql на mysqli в проекте?
  • Вопрос задан
  • 497 просмотров
Решения вопроса 1
SagePtr
@SagePtr
Еда - это святое
Существуют библиотеки-прослойки, эмулирующие старое расширение mysql при помощи PDO или MySQLi. Достаточно просто подключить их где-нибудь перед кодом, осуществляющим подключение к базе данных. Вот навскидку несколько из них:
https://github.com/dshafik/php7-mysql-shim
https://github.com/dotpointer/mysql-shim
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Вариант 1 - написать библиотеку, имитирующую поведение функций mysql_.
Вариант 2 - частично переписать код, заменив вызовы mysql_ на mysqli_ с соответствующей доработкой.
Вариант 3 - полностью переписать проект под современную версию PHP.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы