Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Страницы 1
Тема закрыта
Warning: Unknown: 1 result set(s) not freed. Use mysql_free_result to free result sets which were requested using mysql_query() in Unknown on line 0
Такая строчка появляется практически на каждой странице форума.
Подскажите, как можно это устранить?
Используй mysql_free_result.
Используй mysql_free_result.
Я не рhp-программист и не знаю sql, мне посоветовали поставить punBB как качественное готовое решение. Поэтому еще вопросы:
Где использовать?
Единственное место, где я смог найти вызов mysql_query:
function query($sql, $unbuffered = false)
{
if (strlen($sql) > 140000)
exit('Insane query. Aborting.');
if (defined('FORUM_SHOW_QUERIES'))
$q_start = get_microtime();
if ($unbuffered)
$this->query_result = @mysql_unbuffered_query($sql, $this->link_id);
else
$this->query_result = @mysql_query($sql, $this->link_id);
if ($this->query_result)
{
if (defined('FORUM_SHOW_QUERIES'))
$this->saved_queries[] = array($sql, sprintf('%.5f', get_microtime() - $q_start));
++$this->num_queries;
return $this->query_result;
}
else
{
if (defined('FORUM_SHOW_QUERIES'))
$this->saved_queries[] = array($sql, 0);
return false;
}
}
А вот другая ф-ия, которая как раз использует mysql_free_result, и, как я полагаю, вызывается, когда результат запроса более не нужен:
function close()
{
if ($this->link_id)
{
if ($this->query_result)
@mysql_free_result($this->query_result);
return @mysql_close($this->link_id);
}
else
return false;
}
Единственное, что приходит на ум, что close() вызвается не везде, где это необходимо, или условие if не срабатывает.
Лезть в код и править то, чего не понимаю, не хочу. Если кто-то знает как грамотно поправить, будьте добры - подскажите.
Для начала давайте поределимся с версией движка, с установленными модами, когда стала появляться ошибка (сразу после установки форума, или потом после установки мода) а потом уже будем гадать, что там и где.
1. Версия - 1.3.2
2. Сразу же после установки форума (соотв. модов никаких нет).
Такая строчка появляется практически на каждой странице форума.
Можно еще конкретизировать, какие страницы форума (просмотр темы, просмотр форума, главная страница, профиль, админка, поиск, создание темы, ответ в тему)
Вот некоторые:
Под админом:
1. Сразу после ввода логина и пароля (на странице редиректа).
2. На следующей странице (т.е. главной странице - куда редиректнуло).
3. При навигации по разделам форума.
4. При входе в топик (Warning: Unknown: 2 result set(s) not freed ...).
Под юзером:
п.п. 1 и 2(Warning: Unknown: 1 result set(s) not freed ...).
Открой include/essentials.php
Найди строку
error_reporting(E_ALL);
замени на
error_reporting(E_ALL ^ E_NOTICE);
error_reporting(E_ALL ^ E_NOTICE);
не помогает, но если:
error_reporting(E_NOTICE);
тогда Warning более не появляется.
Так пойдет?
Страницы 1
Тема закрыта