BarnyBroken
@BarnyBroken
Дизайнер, веб-разработчик.

Как преобразовать с PHP 5.2 в PHP 5.6?

Всем привет. Столкнулся с проблемой и не совсем могу понять почему не работает.

Есть код:
public function transform_data($data, $id, $tolang = null){
		$lang = $tolang === null ? $GLOBALS['lang'] : trim($tolang);
		$pattern = array('title', 'text');

		if($this->CONF['langs'][$lang]['main'] == 0){
			$keys = join("`, `", array_intersect($pattern, array_keys($data)));
			$sql = sprintf("SELECT `%s` FROM cms_items_translate WHERE `id` = '%d' AND `lang` LIKE '%s'", $keys, $id, $lang);
			$data = array_replace($data, $this->DB->sql2row($sql));
		}
	}

он работает на PHP версии 5.2 и mySQL 5.1, но при переводе на PHP версии 5.6 и mySQL 5.5 он работать отказывается.
Не совсем могу понять почему так. Я не сильно знаю PHP, по этому прошу Вас мне помочь. Возможно как-то по другому его нужно написать ...

Заранее большое спасибо.
  • Вопрос задан
  • 308 просмотров
Пригласить эксперта
Ответы на вопрос 2
Denormalization
@Denormalization
Только этот участок не работает, или другие места тоже?
Скорее всего дело в $this->DB->sql2row, возможно используется mysql расширение которое убрано в 5.5
Нужно смотреть что там за класс для работы с БД.

PS
И вообще, "работать отказывается" - не описание проблемы. Нужно приводить тексты ошибок\логи чтобы люди не гадали.
Ответ написан
Комментировать
@Yadalay
Php, Mysql, Html, Css, Js/Jquery/Ajax, Laravel
Попробуйте так:
$lang = ($tolang == null) ? $GLOBALS['lang'] : trim($tolang);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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