Проблема с работой форума!

Здравствуйте! Очень надеюсь на помощь. Я загрузила на свой сайт, среди прочих, плагин с форумом, и сначала всё было отлично. Но потом в одном из сообщений пользователь воспользовался функцией «вставить ссылку», сделав ссылку внутри самого сайта, на опрос, который создал в своем топике. И сообщил об опросе на форуме (соответственно, сделав ссылку на опрос).
С тех пор данная тема на форуме перестала работать, сайт выдает следующее сообщение при попытке войти на тему: «SQL Error: Cannot add or update a child row: a foreign key constraint fails (`название-моей-БД`.`prefix_forum_topic_view`, CONSTRAINT `prefix_forum_topic_view_fk` FOREIGN KEY (`topic_id`) REFERENCES `prefix_topic` (`topic_id`) ON DELETE CASCADE ON UPDATE CASCADE) at /var/www/...(здесь путь к файлу).../engine/classes/MapperORM.class.php line 35
Array ( [code] => 1452 [message] => Cannot add or update a child row: a foreign key constraint fails (`название-моей-БД`.`prefix_forum_topic_view`, CONSTRAINT `prefix_forum_topic_view_fk` FOREIGN KEY (`topic_id`) REFERENCES `prefix_topic` (`topic_id`) ON DELETE CASCADE ON UPDATE CASCADE) [query] => INSERT INTO prefix_forum_topic_view SET `topic_id`='3', `topic_views`='3' [context] => /var/www/...(здесь путь к файлу).../engine/classes/MapperORM.class.php line 35 )»
Проблема решается, если зайти в админку и кликнуть на «Пересчитать количество топиков в блогах» — после этого зайти на эту тему можно, и работает отлично, но… только до тех пор, пока пользователи не напишут новый топик или не проголосуют за что-нибудь, т.е. до первого движения на сайте. После этого при попытке зайти в эту тему сайт снова выдает ту же ошибку, опять надо идти в админку и пересчитывать топики. Причем эта проблема возникает только на этой теме, где была ссылка (говорю «была», т.е. я отредактировала сообщение, ссылку убрала, но проблема осталась). Остальные темы форума работают нормально.
Возможно ли как-то сделать одну из двух вещей: 1) либо исправить возникшую ошибку, 2) либо сделать так, чтобы топики пересчитывались автоматически (и желательно каждые 5 секунд)?
Очень буду благодарна за любую помощь!
* * *
ТЕМА ЗАКРЫТА, ПРОБЛЕМА РЕШЕНА, СПАСИБО ДОБРОМУ ЧЕЛОВЕКУ AlikMis!)))
А для таких же чайников, как я, поясню, что помимо исправления строчки в файле (это подробно изложено в ссылке ниже), надо еще идти в свою БД и менять данные в ней тоже.
Отличным подарком к Новому Году станет набор бокалов для вина. Такой подарок станет приятным сюрпризом не только для мужчин, но и для женщин.

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

avatar
avatar
Спасибо! Сделала! Помогли! Наконец-то я могу пойти оффлайн, поесть и поспать, а не обновлять круглосуточно топики, Вы мой спаситель!)))))))))
avatar
рано порадовалась… опять та же проблема((( не помогло(((
avatar
Я вижу, что автор совета также добавил «По необходимости меняем prefix_ на ваш» — а что это значит? можно пример?… возможно, мне именно этого не хватает.
avatar
AlikMis, olia — выручайте, подскажите пожалуйста нубу как решить обсуждаемую проблему. Естественно install.sql поправил — толку — ноль. Что и где и в каких таблицах менять нужно. Выручайте! Заранее спасибо!
avatar
fla18 я могу только пересказать то, что мне подсказывал AlikMis. Но кто знает — возможно, это была частная ситуация, а у тебя другая. В общем, последовательность действий у меня была следующая: 1) открываешь панель сайта (свой кабинет у хостинг-провайдера), 2) кликаешь на меню с phpMyAdmin, 3) вбиваешь свой логин и пароль от базы данных, которую хочешь изменить, 4) заходишь в панель управления базами данных, 5) смотришь таблицу: prefix_forum_topic_view, вкладка Структура, снизу рядом с версией для печати — нажми ссылку связи, 6) теперь в селекте ограничение внешнего ключа надо найти строку такую же как сейчас (вместо prefix_topic должно быть prefix_forum_topic — надо ее выбрать и нажать «сохранить»), 7) ошибка должна исчезнуть, но если вдруг нет — надо почистить кэш.
avatar
olia Благодарю за ответ. Уже связался с AlikMis и получил помощь — за что ему глубочайший респект и уважуха :)!
avatar
да, AlikMis добрая душа, помогает попавшим в беду :))) рада, что у тебя всё получилось!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.