【发布时间】:2012-03-20 12:17:35
【问题描述】:
我将会话存储到 MySQL 数据库中。会话数据被序列化并存储到 DB 单元中。
问题如下:序列化对象只是部分进入数据库。 如果我回显查询字符串,请将其复制并粘贴到 phpMyAdmin->database 查询中,它应该会进入完整的数据库。 “echo mysql_error”没有显示错误。 编码不是原因,我已经严格声明了。 这是我使用的一段代码。
$sql = "UPDATE sessions
SET SESSION_ID='$id', ACCESS='$access', DATA='".stripslashes($data)."', USER_ID='$username' WHERE SESSION_ID = '$id'";
echo("<br>".$sql."<br>");
return mysql_query($sql, $_sess_db);
echo mysql_error($_sess_db);
我该如何解决?为什么当我复制粘贴到 phpmyadmin 时相同的查询工作正常,但通过 mysql_query 函数执行时却不能正常工作?
【问题讨论】:
-
我认为序列化数据是问题所在。您确定所有数据都已序列化吗?并成功反序列化?我不认为问题来自 MySQL。您是否尝试将会话保存在纯文件中?你有同样的问题吗?
-
1.您可以发布回显字符串吗?这可能是造成这种情况的原因...... 2. Mysql_error 从未使用过,因为您之前返回
-
当我回显查询时,所有数据都被序列化。我不反序列化它,我通过 phpMyAdmin 查看数据库并查看对象是否完整。具有相同对象的普通文件中的会话工作正常
-
我无法发布超过邮件大小限制的字符串。但查询是正确的,因为当我复制粘贴并手动提交时它工作正常。