Следите за целостностью БД: топик -> блог
Сегодня на сайте вылезла ошибка, которая ложила плагин похожих записей. Советую проверить БД своего сайта на целостность (особенно если он существует давно) и если Вы когда-либо удаляли блоги. Этот топик немного поможет Вам в этом.
Ошибка вот такая:
Или вот такая:
Так вот, лично у меня проблема была в том, что некоторые блоги были удалены. Но остались топики, которые были все еще связаны с ними. Вот кусок скрипта, который поможет Вам разобраться, есть ли у вас такая проблема. Он вернет все бомжующие топики. Если ничего не вернет — то у Вас все хорошо. Следите за целостностью БД. Это очень важно ;)
ВНИМАНИЕ!!! ЛЮДЯМ КОТОРЫМ НЕ ПОНИМАЮТ О ЧЕМ ТОПИК Я НЕ СОВЕТУЮ ТРОГАТЬ ЧТО-ЛИБО В БД. МОЖЕТ СТАТЬ ЕЩЕ ХУЖЕ.
Ошибка вот такая:
<a class="topic_title" href=" Fatal error: Call to a member function getType() on a non-object in /var/www/***/classes/modules/topic/entity/Topic.entity.class.php on line 356
Или вот такая:
Fatal error: Call to a member function getType() on a non-object in /var/www/***/classes/actions/ActionBlog.class.php on line 665
Так вот, лично у меня проблема была в том, что некоторые блоги были удалены. Но остались топики, которые были все еще связаны с ними. Вот кусок скрипта, который поможет Вам разобраться, есть ли у вас такая проблема. Он вернет все бомжующие топики. Если ничего не вернет — то у Вас все хорошо. Следите за целостностью БД. Это очень важно ;)
ВНИМАНИЕ!!! ЛЮДЯМ КОТОРЫМ НЕ ПОНИМАЮТ О ЧЕМ ТОПИК Я НЕ СОВЕТУЮ ТРОГАТЬ ЧТО-ЛИБО В БД. МОЖЕТ СТАТЬ ЕЩЕ ХУЖЕ.
SELECT * FROM prefix_topic t WHERE NOT EXISTS ( SELECT null FROM prefix_blog b WHERE b.blog_id = t.blog_id )
4 комментария