首页 > 解决方案 > 为什么我无法检索数据 - Codeigniter?

问题描述

我最近在表中添加了一个名为 user_cat 的列。我无法让这个日期显示在网页上。但是,我可以使用下面的会话变量在网页上显示来自 user_id、email_id 列的数据。

$this->session->set_userdata("user_id", $this->session->userdata('loginUser') );

$this->session->set_userdata("user_id", $this->session->userdata('loginEmail') );

我检查了模型页面,发现代码是这样的。

$this->db->select('user_id,email_id');

&

'loginUser' => $row->user_id,

'loginEmail' => $row->email_id,

然后我改为:

$this->db->select('user_id,email_id,user_cat');

&

'loginUser' => $row->user_id,
'loginCat'  => $row->   user_cat,
'loginEmail' => $row->email_id,

现在我像这样使用会话变量:

$this->session->set_userdata("user_id", $this->session->userdata('loginCat') );

这没有用。我需要帮助。

标签: phpmysqlcodeignitersession

解决方案


我假设您没有自己编写代码。数据库中的数据已经在会话中设置。您可以使用直接检索数据

this->session->userdata('loginUser')

所以在模型中寻找如下代码

$this->session->loginUser = //something;
//add your code
$this->session->loginCat = //similar to above

看看数据库参考

但是,以下是您问题的答案

您对所有会话数据使用相同的密钥。您应该为每个会话变量使用唯一键。

$this->session->set_userdata("user_id", $this->session->userdata('loginUser') );
$this->session->set_userdata("user_email", $this->session->userdata('loginEmail') );
$this->session->set_userdata("user_cat", $this->session->userdata('loginCat') );

看看Session 库


推荐阅读