【发布时间】:2011-01-25 11:18:06
【问题描述】:
我有一个类在我的代码中处理会话并将会话数据存储在数据库中。在读取回调函数中,我编写了一个查询并从数据库加载数据并返回值,但是当转储 $_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'
【问题讨论】:
-
你的垃圾回收功能怎么样?