Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#1 2009-04-28 19:37:42

overt
Гость

Warning внизу страниц формума.

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

Такая строчка появляется практически на каждой странице форума.
Подскажите, как можно это устранить?

#2 2009-04-29 09:15:31

VoiD
Гость

Re: Warning внизу страниц формума.

Используй mysql_free_result.

#3 2009-04-29 12:53:28

overt
Гость

Re: Warning внизу страниц формума.

VoiD пишет:

Используй 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 не срабатывает.
Лезть в код и править то, чего не понимаю, не хочу. Если кто-то знает как грамотно поправить, будьте добры - подскажите.

#4 2009-04-29 13:02:17

hcs
Гость

Re: Warning внизу страниц формума.

Для начала давайте поределимся с версией движка, с установленными модами, когда стала появляться ошибка (сразу после установки форума, или потом после установки мода) а потом уже будем гадать, что там и где.

#5 2009-04-29 13:39:53

overt
Гость

Re: Warning внизу страниц формума.

1. Версия - 1.3.2
2. Сразу же после установки форума (соотв. модов никаких нет).

#6 2009-04-29 14:36:28

hcs
Гость

Re: Warning внизу страниц формума.

overt пишет:

Такая строчка появляется практически на каждой странице форума.

Можно еще конкретизировать, какие страницы форума (просмотр темы, просмотр форума, главная страница, профиль, админка, поиск, создание темы, ответ в тему)

#7 2009-04-29 15:12:08

overt
Гость

Re: Warning внизу страниц формума.

Вот некоторые:

Под админом:
1. Сразу после ввода логина и пароля (на странице редиректа).
2. На следующей странице (т.е. главной странице - куда редиректнуло).
3. При навигации по разделам форума.
4. При входе в топик (Warning: Unknown: 2 result set(s) not freed ...).

Под юзером:
п.п. 1 и 2(Warning: Unknown: 1 result set(s) not freed ...).

#8 2009-04-29 15:22:58

hcs
Гость

Re: Warning внизу страниц формума.

Открой include/essentials.php
Найди строку

error_reporting(E_ALL);

замени на

error_reporting(E_ALL ^ E_NOTICE);

#9 2009-04-29 16:46:06

overt
Гость

Re: Warning внизу страниц формума.

error_reporting(E_ALL ^ E_NOTICE);

не помогает, но если:

error_reporting(E_NOTICE);

тогда Warning более не появляется.
Так пойдет? smile

Подвал доски

Под управлением FluxBB. Хостинг Hostens