我有一個很奇怪的問題。
情況:通過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