我有一个很奇怪的问题。
情况:通过MySQL,PHP 5.2.4,通配符cookies,FF/Opera/Safari/Chrome工作,不支持IE7/8。PHP/Session/IE:常量被保存,变量不是
当我将变量保存到会话中时,该值将丢失。 DB在写操作后仅显示“N”而不是“123456”。
例子:
$bar = 123456;
$_SESSION['foo'] = $bar;
但是当我保存的恒定在会话中,它的工作原理。
$_SESSION['foo'] = 123456;
这不是一个真正的客户端问题,但只有在IE中它不起作用。
任何想法?
编辑:
这是会话写入功能:
function _write($id, $data) {
$write = "UPDATE session SET time='".time()."', data='".mysql_real_escape_string($data)."' WHERE id='".mysql_real_escape_string($id)."'";
$result = @mysql_query($write);
if(mysql_affected_rows()) return $result;
else {
$write = "INSERT INTO session (id, time, data) VALUES ('".mysql_real_escape_string($id)."', '".time()."', '".mysql_real_escape_string($data)."')";
return @mysql_query($write);
}
}
当我打印更新查询($写)一切都看起来不错。我可以手动执行SQL,它也可以使用变量。
感觉像问题是你如何处理会话,而不是传入会话的值。你能提供更多的上下文/代码吗? – Tom 2010-02-01 22:03:54
浏览器通常不应该出现问题,所以有些奇怪的事情正在发生。 – 2010-02-01 22:09:01