Mysql 检索会话数据Codeigniter

Mysql 检索会话数据Codeigniter,mysql,codeigniter,Mysql,Codeigniter,我正在开发一个消息传递系统,希望用户的userid与消息一起发布到数据库中。现在,该消息正在发布到数据库,但用户ID为0 如何从会话数据中获取用户ID,以便与消息一起发布到数据库?旁注:我使用Tank Auth进行身份验证。(在mysql端,消息表中的user_id是一个外键,它引用users表中的id) 控制器 function index() { if ($this->input->post('submit')) { $id = $this-&g

我正在开发一个消息传递系统,希望用户的userid与消息一起发布到数据库中。现在,该消息正在发布到数据库,但用户ID为0

如何从会话数据中获取用户ID,以便与消息一起发布到数据库?旁注:我使用Tank Auth进行身份验证。(在mysql端,消息表中的user_id是一个外键,它引用users表中的id)

控制器

function index() {

    if ($this->input->post('submit')) {
            $id = $this->input->post('user_id');
            $message = $this->input->post('message');

            $this->load->model('message_model');
            $this->message_model->addPost($id, $message);
        }
    }   
型号

function addMessage($id, $message) {
        $data = array(
            'user_id' => $id,
            'message' => $message
        );

        $this->db->insert('message', $data);
    }
直接取自:

检索会话数据

会话数组中的任何信息都可以使用 以下功能:

$this->session->userdata('item');
其中item是数组索引 对应于要获取的项目。例如,获取 会话ID您将执行以下操作:

$session_id = $this->session->userdata('session_id');
注:该 如果您尝试访问的项为FALSE(布尔值) 不存在

因此,如果您有一段名为
user\u id
的会话数据,您可以这样访问它:

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

对于tank_auth,使用以下命令获取用户id,然后将其分配给会话

$user_id    = $this->tank_auth->get_user_id();

谢谢你。我在《用户指南》中看到了这一点,但我认为由于我使用的是Tank Auth,会话语法可能会有所不同。我试了大约10次,想想出一些可行的方法,但没有意识到语法是一样的。