MySQL ошибка (DLE)

WebJunior
На сайте с 11.06.2010
Offline
155
4834

Что имеем после обновления с 8.x до 9.6:


MySQL Error!
------------------------

The Error returned was:
Column 'rating' in order clause is ambiguous

Error Number:
1052

SELECT p.id, p.date, p.short_story, p.xfields, p.title, p.category, p.alt_name FROM dle_post p LEFT JOIN dle_post_extras e ON (p.id=e.news_id) WHERE p.approve=1 AND p.date >= '2012-05-28 23:35:06' - INTERVAL 1 MONTH AND p.date < '2012-05-28 23:35:06' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10

Вылетела тупо сама собой, никаких операций вообще не производилось. Как решить? Бонусы в виде $ предусмотрены...

Мой сайт на этом хостинге - https://tuthost.ua/?from=2558 / Верстаю шаблоны (темы с отзывами: https://searchengines.guru/ru/forum/763758, https://searchengines.guru/ru/forum/600404 ).
siv1987
На сайте с 02.04.2009
Offline
427
#1
WebJunior
На сайте с 11.06.2010
Offline
155
#2

Спасибо!

Мда... Люблю DLE! 🙅

---------- Добавлено 28.05.2012 в 23:11 ----------

p.s. проблема не решилась. пришлось удалить запрос.

S5
На сайте с 04.01.2010
Offline
77
#3

А просто первести текст ошибки не судьба? :)

http://dic.academic.ru/dic.nsf/eng_rus/417891/ambiguous

Поле для сортировки неоднозначное\сомнительное, а как вылечить вам рассказали выше

SELECT p.id, p.date, p.short_story, p.xfields, p.title, p.category, p.alt_name FROM dle_post p LEFT JOIN dle_post_extras e ON (p.id=e.news_id) WHERE p.approve=1 AND p.date >= '2012-05-28 23:35:06' - INTERVAL 1 MONTH AND p.date < '2012-05-28 23:35:06' ORDER BY ?.rating DESC, ?.comm_num DESC, ?.news_read DESC, ?.date DESC LIMIT 0,10
L
На сайте с 15.01.2008
Offline
112
#4

sg552, русский человек ошибки не лечит. Он их искореняет как зло - топором и под корень 🙅

WebJunior
На сайте с 11.06.2010
Offline
155
#5
lpcard:
русский человек ошибки не лечит. Он их искореняет как зло - топором и под корень 🙅

:D

Наличие тега было не критичным, можно было просто удалить.

DI
На сайте с 22.01.2010
Offline
103
#6

А как это исправить? В каком файле нужно вносить изменения?

WebJunior
На сайте с 11.06.2010
Offline
155
#7

DaImeR,

Ошибку вызывает запрос модулю topnews - файл engine/modules/topnews.php. Находится в самом начале файла. Поправляется так:

SELECT p.id, p.date, p.short_story, p.xfields, p.title, p.category, p.alt_name FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE p.approve=1 AND p.date >= '$this_month' - INTERVAL 1 MONTH AND p.date < '$this_month' ORDER BY p.rating DESC, p.comm_num DESC, p.news_read DESC, p.date DESC LIMIT 0,10

...выше уже подсказали.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий