1

データベースにci_sessionsテーブルがあり、ユーザーがログインすると、ユーザーの情報がこのテーブルに保存されます。user_id特に指定すると、このユーザーがアクティブか非アクティブかが表示されることを確認したいと思います。

基本的なMySQL形式ではなく、CodeIgnterのアクティブレコード形式でクエリを実行したい。

例えば:

 $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'

4

1 に答える 1

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ます。

于 2013-02-20T14:23:09.947 に答える