0

我想在会话中保存完整的模型,这样我就可以在整个应用程序中轻松使用数据。

成功登录应用程序后,我将模型保存在会话中,会话保存在ci_session表中的数据库中。

我试过的代码:

$loginSuccess = $this->login_model->doLogin($username, $password);
if($loginSuccess) {
    $this->login_model->initialize();   // this will set value in private variable
    $serializelogin = serialize($this->login_model);
    $this->session->set_userdata('userprofile', $serializelogin);
}

这段代码给了我一个错误:

Error Number: 2006

MySQL server has gone away

更新:我将表格的user_dataci_session从文本更改为长文本

4

1 回答 1

0

你需要首先创建一个会话。

//Destroy old session
$this->session->sess_destroy();

//Create a fresh, brand new session
 $this->session->sess_create();

 //Set session data
$this->session->set_userdata($row);

基本上 $row 是一个数组。$row = $serializelogin->row_array();

或者

$this->session->set_userdata(array('active_flag' => false, 'active_status' => 0));

确保从模型返回的数据是 row_array 格式。

于 2018-10-17T11:24:30.747 回答