【问题标题】:Saving the MySQL variable in a PHP $_SESSION variable [closed]将 MySQL 变量保存在 PHP $_SESSION 变量中[关闭]
【发布时间】:2019-12-29 04:03:54
【问题描述】:

我使用 mysqli_connect 创建了一个 MySQL 连接对象。该对象用于访问数据库(例如 mysqli_query)。使用 print_r 我可以看到它包含我作为参数传递给 mysqli_connect 的信息(例如 host_info)。但是,当我将它保存在 $_SESSION 变量中,然后稍后检索它时,它大部分是空白的,并且不包含我初始化它的任何数据。我对 FileMaker 使用几乎相同的方法,它也使用第一个命令返回一个对象,并且检索和重用该对象没有问题。

我的解决方法是简单地继续调用 mysqli_connect 来生成一个新对象(效果很好),但这似乎并不理想。

这个对象是否有什么特别之处使得它无法保存在 $_SESSION 变量中?

【问题讨论】:

标签: php mysql session


【解决方案1】:

最好制作一个用于连接数据库的配置文件,并在您需要连接的任何地方使用它,使用您的内存将其存储在 SESSION 中,有时 Session 可能会被破坏并且您的应用程序会崩溃。 但是你想在一个会话中存储一个对象或数组,你必须使用serialize。请看下面的例子:

$_SESSION['connection'] = serialize($connection);

$connection= unserialize($_SESSION['connection']);

想要存储在会话中的时候使用序列化函数,想要使用的时候先反序列化再使用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-10
    • 2013-09-08
    • 1970-01-01
    相关资源
    最近更新 更多