Кто может расшифровать ошибку синтаксиса ?

merlak

Новичок
Хостер поменял версию пхп на 5.3 с версии 5.2 и вылезла на сайте ошибка когда заходишь на форум:

Warning: [MySQL] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`Instance.*` FROM se_forum_instances `Instance` WHERE `Instance`.`id`='1' LIMIT ' at line 1 (1064) in /home/igor/public_html/mysite.com/include/forum/controllers/forum_controller.php on line 14 for query "SELECT `Instance`.* `Instance.*` FROM se_forum_instances `Instance` WHERE `Instance`.`id`='1' LIMIT 1" in /home/igor/public_html/mysite.com/include/forum/lib/mysql.php on line 629


Содержимое строки 14 файла, forum_controller.php:
function index(&$params, &$sql, &$lg, &$url, &$smarty) {
$smarty->assign('_active_tab', 'forum_categories');

// get instance
$instance = $sql->find('first', array('model' => 'Instance',
'fields' => array('Instance.*'),
14 строка: 'conditions' => array('Instance.id=?', array($params['params']['instance_id']))));


if(empty($instance)) {
SEP_Forum_Helper::redirect_to_error($lg->getLang('You requested an invalid forum'));
}

$smarty->assign('instance', $instance);
Можете подсказать в какую сторону копать и где может быть проблема ?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Надо почитать про SQL... Причем так крепко почитать.

Потом убрать лишнее.
 

scorpion-ds

Новичок
Методом тыка ...

Можно попробовать отключить строгий режим для MySQL, я помню у меня тоже были проблемы с запросами, после перехода с PHP 5.2 на 5.3, но проблема там была комплексная, то есть не именно из-за PHP, а из-за либы MySQL и самого сервера MySQL (хостеры иногда не считают нужным уведомлять и об обновлении MySQL).

Собственно, это та проблема о которой я говорил, смена версии PHP для старых проектов - должна быть возможность выбора версии PHP. У ТС, все усугубляется тем, что видимо хостер очень тупит, раз только в 2015 году, решил обновиться до 5.3, если не ошибаюсь, эта версия стала стабильной примерно в 2012.

Может стоить покопаться в админке хостера и найти опцию, где можно выставить нужную версию PHP?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
scorpion-ds, маловероятно, что этот запрос вообще выполнится, потому как со старой версией php этот запрос тоже работать не будет. Разуваем глазки и смотрим на SELECT `Instance`.* `Instance.*` FROM
Либо изменились настройки вывода ошибок и ошибка стала явной, либо каком-то "магическим" образом у нас рабочая логика стала дублировать выборку. Никакого дублирования там не должно быть.
 

merlak

Новичок
Методом тыка ...

Можно попробовать отключить строгий режим для MySQL, я помню у меня тоже были проблемы с запросами, после перехода с PHP 5.2 на 5.3, но проблема там была комплексная, то есть не именно из-за PHP, а из-за либы MySQL и самого сервера MySQL (хостеры иногда не считают нужным уведомлять и об обновлении MySQL).

Собственно, это та проблема о которой я говорил, смена версии PHP для старых проектов - должна быть возможность выбора версии PHP. У ТС, все усугубляется тем, что видимо хостер очень тупит, раз только в 2015 году, решил обновиться до 5.3, если не ошибаюсь, эта версия стала стабильной примерно в 2012.

Может стоить покопаться в админке хостера и найти опцию, где можно выставить нужную версию PHP?

Вопрос с возвратом на старую версию решён с хостером, но не хотелось бы так...И если уж на эту тему пошёл разговор, а в чём минус того что старая версия PHP будет ? это критично вообще или с этим можно жить всё таки..?? )
 

merlak

Новичок
scorpion-ds, маловероятно, что этот запрос вообще выполнится, потому как со старой версией php этот запрос тоже работать не будет. Разуваем глазки и смотрим на SELECT `Instance`.* `Instance.*` FROM
Либо изменились настройки вывода ошибок и ошибка стала явной, либо каком-то "магическим" образом у нас рабочая логика стала дублировать выборку. Никакого дублирования там не должно быть.
Да спасибо, я уже пытаюсь разобраться откуда дубль вставляется. Потому что если убрать:

'fields' => array('Instance.*'), то ошибка остаётся.. Значит надо глубже копать ..

Я почему то решил что синтаксис такой есть чтоб без запятых ...
 
Сверху