Перейти к публикации

Невозможность удалить комментарии


Рекомендованные сообщения

DLE 9.0 Сайт

Накопилось спама- непроверенные комметарии. Через админку - не удаляются. Пробовала очистить с помощью мастера оптимизации, выдаёт такую ошибку: MySQL Error!

------------------------

The Error returned was:

BIGINT UNSIGNED value is out of range in '(`.`dle_post`.`comm_num` - 1)'

Error Number:

1690

Ссылка на сообщение
Поделиться на других сайтах

Во первых база данных не соответствует оригинальной, а именно типы полей не соответствует. Во вторых у вас нарушена связь счетчиков комментариев. Удалять вам теперь нужно только вручную, например в разделе редактирования комментариев, или в разделе редактирования новостей.

Ссылка на сообщение
Поделиться на других сайтах

Удалять вам теперь нужно только вручную, например в разделе редактирования комментариев, или в разделе редактирования новостей.

В ручную не удаляются. :( Что значит " не соответсвует оригинальной" Мне её подменили?
Ссылка на сообщение
Поделиться на других сайтах

В ручную не удаляются.

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

Что значит " не соответсвует оригинальной" Мне её подменили?

Да. Или вы сами изменили тип поля в БД вручную, или это сделал какой то некорректный сторонний модуль.

Ссылка на сообщение
Поделиться на других сайтах

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

Не удаляются непроверенные комментарии, т.е. в самой новости они не отображаются.

1. Я перехожу в [ проверка ожидающих модерации комментариев ] и выделяю удалить все , либо же пытаюсь удалить один комментарий, страницу "крутит", но в итоге ничего не происходит.

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

Да. Или вы сами изменили тип поля в БД вручную, или это сделал какой то некорректный сторонний модуль.

Я уж точно сама не изменяла... Теперь ничего не исправить?

Ссылка на сообщение
Поделиться на других сайтах

1. Я перехожу в [ проверка ожидающих модерации комментариев ] и выделяю удалить все , либо же пытаюсь удалить один комментарий, страницу "крутит", но в итоге ничего не происходит.

Если комментариев много, то возможно нехватка оперативной памяти для выполнения операции, в данном случае нужно обновляться до актуальной версии скрипта, там намного эффективнее механизмы удаления данных комментариев. Либо нужно существенно увеличивать лимиты памяти, выделенные на PHP, в настройках сервера, а также увеличивать таймауты на время работы скриптов на сервере, чтобы DLE смог и успел все это обработать.

Я уж точно сама не изменяла... Теперь ничего не исправить?

Если вы умеете работать в phpMyAdmin, то можете зайти в него, и в таблице de_post изменить у поля comm_num тип c BIGINT на mediumint

Ссылка на сообщение
Поделиться на других сайтах

Если вы умеете работать в phpMyAdmin, то можете зайти в него, и в таблице de_post изменить у поля comm_num тип c BIGINT на mediumint

Не умею, но зашла посмотреть...

Вот скриншот , того что увидела http://picplus.ru/ful/1411/05/79423533.jpg 79423533.jpg

Там вроде бы стоит mediumint или я не тут смотрю?

Изменено пользователем Drims
Ссылка на сообщение
Поделиться на других сайтах

странно. А ошибка говорит что тип поля у вас bigint. Может не ту базу данных смотрите?

уберите тогда значение UNSIGNED у поля, а потом уже когда будет удалено все, найдете и новости у которых значение комментариев будет в минусовых значениях, сделаете то что я вам написал выше http://forum.dle-news.ru/index.php?showtopic=66965&view=findpost&p=334070 и после этого вернете это значение полю.

Ссылка на сообщение
Поделиться на других сайтах

странно. А ошибка говорит что тип поля у вас bigint. Может не ту базу данных смотрите?

Проверила, ещё раз, ту базу данных смотрела... я проверила остальные (тоже самое).

уберите тогда значение UNSIGNED у поля, а потом уже когда будет удалено все, найдете и новости у которых значение комментариев будет в минусовых значениях, сделаете то что я вам написал выше http://forum.dle-new...ndpost&p=334070 и после этого вернете это значение полю.

Немножко получается по-другому... После сохранения без значения UNSIGNED - комментарии в минус не ушли, но пропала ошибка:

The Error returned was:

BIGINT UNSIGNED value is out of range in '(`.`dle_post`.`comm_num` - 1)'

Комментарии удаляются любым способом, так же корректно работает без ошибки и мастер оптимизации.

После того как возвращаю полю значение UNSIGNED, сново та же ошибка.

celsoft, огромное Вам спасибо.... Вы мне очень помогли в очередной раз!

Изменено пользователем Drims
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...