CI_SESSION查询所需的ID以查找活动用户

时间:2013-02-20 14:14:26

标签: php mysql codeigniter session

我的数据库中有ci_sessions表,当用户登录时,他们的信息会保存在此表中。我想检查一下,如果我给出特定的user_id,那么它会告诉我该用户是处于活动状态还是非活动状态。

我想查询CodeIgnter的活动记录格式,而不是基本的MySQL格式。

例如:

 $this->db->select('*');
 $this->db->from('ci_sessions');
 $this->db->where('user_data','');
 $this->db->get();

在我的ci_sessions表格中,user_data列包含所有信息,包括user_id。我想搜索此列where user_id = 'my_given_id'

1 个答案:

答案 0 :(得分:1)

您可以获取存储在会话数据中的user_id $this->session->userdata('user_id');

如果您想从ci_sessions表中获取特定会话,则必须首先从session_id检索userdata,然后您可以查询它。

$session_id = $this->session->userdata('session_id');

$this->db->select('*');
$this->db->from('ci_sessions');
$this->db->where('session_id', $session_id );
$this->db->get();

修改 如果要查询数据库中所有存储的会话并在其中搜索特定的user_id,则必须先获取存储在表中的所有数据,然后对user_data进行反序列化并在其中搜索user_id您正在寻找。