Обработка сессий PHP (функция чтения) Проблема - PullRequest
0 голосов
/ 25 января 2011

У меня есть класс, который обрабатывает SESSION в моем коде и хранит данные сеанса в БД.В функции обратного вызова Read я записываю запрос, загружаю данные из БД и возвращаю значение, но при получении дампа $ _SESSION оно пустое!

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

мой код функции чтения:

function read($session_id)
{              
    $result = @mysql_query("
        SELECT
            session_data
        FROM
            session_table
        WHERE
            session_id = '".$session_id."' AND
            session_expire > '".time()."'
    ");

    if (is_resource($result) && @mysql_num_rows($result) > 0) {
        $fields = @mysql_fetch_assoc($result);
        return $fields["session_data"];
    }


        return "";

    }

Мой журнал:

read function log: 
            SELECT
                session_data
            FROM
                sessions_table
            WHERE
                session_id = '389dd7fc7bc19ffead7274c0ad860896' AND
                session_expire > '1295954400'
read function result log:
Array
(
    [session_data] => corret serialized data
)

write function log:
                UPDATE
                    sessions_table
                SET
                    session_data = '',
                    session_expire = '1295955840'
                WHERE
                    session_id = '389dd7fc7bc19ffead7274c0ad860896'

1 Ответ

0 голосов
/ 25 января 2011

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

На самом деле я не вижу никаких ошибок в вашем коде, но, например, если база данных была настроена неправильно или в вашем синтаксисе SQL была ошибка, mysql_query сообщит вам об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...