Когда то давно я писал проект на php (сайт, систему) и использовал соединение с базой через mysql.
Разумеется, это расширение устарело. И с современной конфигурацией оно не работает.
Менять конфигурацию (даже Open Server) не имеет смысла, ровно как и ставить устаревший LAMP (если это ещё возможно).
Попробовав изменить mysql на mysqli я столкнулся с проблемой - куча функций по всему проекту настроены на работу с mysql:
mysql_fetch_assoc
mysql_query
mysql_num_rows
....
Даже массовые замены через notepad++ (заменить в файлах текст) не сильно помогли.
Ведь mysqli требуется ссылка на подключение. Надо ее передавать, менять код функций - их вызова, параметры..
Это переписывать 30% проекта, отлаживать...
Что делать?
Как заменить mysql на mysqli в проекте?
Для правильного вопроса надо знать половину ответа
Вариант 1 - написать библиотеку, имитирующую поведение функций mysql_.
Вариант 2 - частично переписать код, заменив вызовы mysql_ на mysqli_ с соответствующей доработкой.
Вариант 3 - полностью переписать проект под современную версию PHP.
Вариант 1 - написать библиотеку, имитирующую поведение функций mysql_.
Не осилю. (
Вариант 2 - частично переписать код, заменив вызовы mysql_ на mysqli_ с соответствующей доработкой
Пробовал - потратил много времени и всё ещё не до конца доработал.
В силу особенностей проекта бывает тяжело делать дебаг.
Модальные окна, ajax запросы - одно вызывает другое...
Вариант 3 - полностью переписать проект под современную версию PHP.
Не имеет смысла. Проект чтобы просто лежал в портфолио.
Vamp, ну так в портфолио ссылка только. а что внутри ад и говнокод, и беспомощный "программист", который даже гуглить не умеет - это в портфолио не видно
Vamp, FanatPHP,
Вот вот.
Проект рабочий. Был и есть. Теперь работает и на php 7.
Код, скажу сразу - не очень. Но вряд ли кто то будет в нем сильно копаться.
ну так в портфолио ссылка только
Скорее всего так и будет. Хотя есть идея как то сделать портативный вариант.
У меня есть проект портативного PHP и SQLite. Но тут MySql - и с ним вроде ничего портативного не сделать.
Если нет волшебной библиотеки которая будет MySql запросы переводить в SQLite...