php - Mysql session 数据数组解释

标签 php mysql codeigniter session

我正在使用 Codeigniter 的 session 库在表中添加 session 数据。

来自文档:

$newdata = array(
                   'username'  => 'johndoe',
                   'email'     => 'johndoe@some-site.com',
                   'logged_in' => TRUE
               );

$this->session->set_userdata($newdata);

例如,在我的 session 表中,我得到以下代码:

a:7:{s:9:"user_data";s:0:"";s:7:"user_id";s:2:"10";s:8:"username";s:0:"";s:9:"firstname";s:3:"Dan";s:8:"lastname";s:6:"Greeb";s:6:"status";s:1:"1";s:18:"settings_activated";i:1;}

我找不到任何有关所有字母和数字含义的文档。语法是什么意思?

请注意最后一个 session 项目settings_activated。我用它来检查用户是否输入了他/她的设置。它设置为 1 或 0。i 是什么意思?

最佳答案

要访问所有 session 用户数据,只需键入:

$data = $this->session->all_userdata();

有了这个你就可以访问

echo $data['username']; // gives "johndoe"

如果你想要一些具体的东西,你可以做

$username = $this->session->userdata('username');
echo $username;  // gives "johndoe"

正如 Wrikken 上面提到的,您在实际表中看到的数据是序列化的,CI 不希望您直接与其交互 - 只需使用 Session 类即可。

关于php - Mysql session 数据数组解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11235425/

相关文章:

php - 为什么crontab不能按时执行

mysql - 向结果添加一列,这是另一个具有依赖关系的 SELECT

php - Joomla - PHP 改变模型中的 mySQL 语句

php - PasswordHash 不适用于 CodeIgniter

php - Lithium form helper 数据和错误缺失?

javascript - mySqli php - 用户将多选复选框输入到 1 条记录中

php - 您的要求无法解析为一组可安装的软件包。使用 Composer

php - 从文件中读取时多少行太多?

php - 命令行脚本中无法识别 MongoDB PHP 扩展

php - 将 CI 查询存储到数组中?