![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
maxipub |
|
||||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: нет Всего: 1 |
Добрый день!
Появилась необходимость перенести работающий проект на другой сервер. В связи с этим решил перестать быть динозавром, и обновиться PHP 5.3 -> 7.1 вроде все что надо проделал, и тут заметил один косяк. До этого использовал mysql_*, как известно, в PHP7 его нет, остановился на mysqli_*. В движке все запросы к БД идут через простую обертку, так что думал работы будет минимум. Все выглядит примерно так:
Соответственно, обертка mysql.php (упрощенно):
В варианте mysqli.php выглядит примерно так:
Я не сразу обратил внимание что функции mysqli_result почему-то не существует, и хоть новый result возвращает то что надо, логика у него совсем другая. Проблема возникает в таких участках кода:
Т.е. где, например, в условии сначала проверяется result, а потом уже в случае выполнения условия непосредственно используется это значение. При использовании mysql_result такой проблемы не было - его можно дергать сколько угодно раз. Но очевидно что в данном случае mysqli_fetch_row, начиная со второго вызова, будет возвращать NULL... Пытался решить это своими силами, пока ничего не выходит. Понимаю, что по-хорошему, может быть, лучше переделать код проекта, а не эту функцию. Но на данном этапе мне элементарно хотелось бы скорее закончить с переездом, а марафет наводить уже после. Поэтому хотелось бы поменять именно function result, а не рыться сейчас во всем коде. Какие будут предложения? Заранее огромное человеческое спасибо! |
||||||||
|
|||||||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
почему бы не написать вот так? И резалт только один раз дергается и последствий, вроде, никаких...
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
maxipub |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: нет Всего: 1 |
ksnk, это можно, но...
Там 3,6 Мб PHP кода, которые планировал перенести еще 1-го августа. |
|||
|
||||
maxipub |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: нет Всего: 1 |
ksnk, за два часа вроде справился. Через день еще раз перепроверю чтоб не было косяков. Спасибо!
|
|||
|
||||
svenson |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 13.6.2019 Репутация: нет Всего: нет |
Ох базы данных, тонкое это место, как правило всегда с ними проблеммы какие-то возникают.
|
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |