我的数据库中有 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'
。
最佳答案
您可以通过以下方式获取存储在 session 数据中的user_id
$this->session->userdata('user_id');
如果你想从 ci_sessions
表中获取特定的 session ,那么你必须首先从 userdata
中检索 session_id
然后你可以查询。
$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();
编辑:
如果你想查询数据库中所有存储的 session 并在其中搜索特定的 user_id
,你必须首先获取存储在表中的所有数据,反序列化 user_data
并在其中搜索您要查找的 user_id
。
关于php - CI_SESSION 查询所需的 ID 以查找事件用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14981978/