Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » MySQL » Как исправить ошибку Mysql при построении похожих пбликаций?

Как исправить ошибку Mysql при построении похожих пбликаций?


     18.03.2015    Все вопросы » MySQL    2644

вопрос
MySQL error in file: /engine/modules/show.full.php at line 736
Error Number: 1064
The Error returned was:
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 ') ORDER BY id DESC' at line 1


SQL query:

SELECT id, date, short_story, xfields, title, category, alt_name FROM dle_post WHERE id IN(12380590,12381280,795141,12375605,12393976,12375556,12372564,12382067,12352284,12381997,12394012,12352459,12381058,736690,12394122,12380981,12372041,12380749,12365119,12380794,12375193,12373200,12375415,12380983,12373501,12375324,12375553,12380208,805390,) ORDER BY id DESC


Выбивает иногда такую ошибку, в чем дело понять не могу
Привожу строки 735, 736, 737
if ( $row['related_ids'] ) {
                    $db->query( "SELECT id, date, short_story, xfields, title, category, alt_name FROM " . PREFIX . "_post WHERE id IN({$row['related_ids']}) ORDER BY id DESC");
                    $first_show = false;

Ответа пока нет


10 комментариев

vitnet
PHP-developer

vitnet - 18 марта 2015 09:34 -

У вас одна запятая лишняя в списке с ID, в конце.

Таких постов много с ошибкой?

ilgizon87
Юзер

ilgizon87 - 18 марта 2015 10:13 -

я случайно наткнулся на этот материал, самое интересное, что один раз мне удалось нормально открыть страницу, а последующие попытки приводили к ошибке MySQL
здесь двиг вывел 29 материалов (в настройках 33 похожих), может здесь что-то кроется...

vitnet
PHP-developer

vitnet - 18 марта 2015 10:19 -

Добавьте перед запросом:
$row['related_ids'] = explode(",", $row['related_ids']);

$ids = array();
foreach($row['related_ids'] as $rid) {
    if( !$rid ) break;
    $ids[] = $rid ? $rid : false;
}

$row['related_ids'] = implode(",", $ids);

ilgizon87
Юзер

ilgizon87 - 18 марта 2015 10:28 -

открыл в phpmyadmin related_ids (id новости где и происходит ошибка)
12380590,12381280,795141,12375605,12393976,12375556,12372564,12382067,12352284,12381997,12394012,12352459,12381058,736690,12394122,12380981,12372041,12380749,12365119,12380794,12375193,12373200,12375415,12380983,12373501,12375324,12375553,12380208,805390,

т.е. с лишней запятой. Почему так вышло? Это "косяк"?

Marsipanes
Юзер

Marsipanes - 13 декабря 2015 18:49 -

Спасибо. Столкнулся с такой же проблемой - помогло. Закрепите как ответ.

vitnet
PHP-developer

vitnet - 18 марта 2015 10:30 -

Да, в запятой проблема.

ilgizon87
Юзер

ilgizon87 - 18 марта 2015 10:39 -

в общем надо отписать разрабам о проблеме с количеством символов
я докопался до истины...
в эту ячейку записываются кол-во символов не более 255, с учетом запятых.... как исправить?

поставил пока 24 материала, все работает
спасибо за помощь!

ilgizon87
Юзер

ilgizon87 - 18 марта 2015 10:32 -

я докопался до истины...
в эту ячейку записываются кол-во символов не более 255, с учетом запятых.... как исправить?

lutskboy
Эксперт

lutskboy - 18 марта 2015 16:23 -

ну так измените на 300 в чем проблема

atheroth
Юзер

atheroth - 4 июля 2015 09:20 -

У меня такая же ошибка, просто бабахнул значение с 255 до 455, все заработало. 2 недели мучался с этой ошибкой, пока на этот пост не наткнулся :)

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

 22.05.2013 mahsunseven  MySQL
 06.09.2013 pro-erex  MySQL
наверх