Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php unserialize():672字节的偏移量10处出错_Php_Sql Server_Codeigniter - Fatal编程技术网

Php unserialize():672字节的偏移量10处出错

Php unserialize():672字节的偏移量10处出错,php,sql-server,codeigniter,Php,Sql Server,Codeigniter,我正在用sql server构建codeigniter应用程序 我用MySQL启动了这个应用程序,它运行得很好,但当我将我的表合并到sql server时,出现了以下错误: 消息:unserialize():672字节的偏移量10处出错 文件名:core/MY_Controller.php public function __construct() { parent::__construct(); $group_data = array(); if(empty($t

我正在用sql server构建codeigniter应用程序

我用MySQL启动了这个应用程序,它运行得很好,但当我将我的表合并到sql server时,出现了以下错误:

消息:unserialize():672字节的偏移量10处出错

文件名:core/MY_Controller.php

 public function __construct() 
{
    parent::__construct();

    $group_data = array();
    if(empty($this->session->userdata('logged_in'))) {
        $session_data = array('logged_in' => FALSE);
        $this->session->set_userdata($session_data);
    }
    else {
        $user_id = $this->session->userdata('id');
        $this->load->model('model_groups');
        $group_data = $this->model_groups->getUserGroupByUserId($user_id);
        
        $this->data['user_permission'] = unserialize($group_data['permission']);

        $this->permission = unserialize($group_data['permission']);
    }
}
行号:3

这是我的controller.php

 public function __construct() 
{
    parent::__construct();

    $group_data = array();
    if(empty($this->session->userdata('logged_in'))) {
        $session_data = array('logged_in' => FALSE);
        $this->session->set_userdata($session_data);
    }
    else {
        $user_id = $this->session->userdata('id');
        $this->load->model('model_groups');
        $group_data = $this->model_groups->getUserGroupByUserId($user_id);
        
        $this->data['user_permission'] = unserialize($group_data['permission']);

        $this->permission = unserialize($group_data['permission']);
    }
}

我刚刚使用了preg_replace_回调函数,对我来说效果很好:

   $group_data['permission']=preg_replace_callback('!s:(\d+):"(.*?)";!', 
            function($match) {
             return ($match[1] == strlen($match[2])) ? $match[0] : 's:' . strlen($match[2]) . ':"' . $match[2] . '";';},
             $error_serialized_data);

我刚刚使用了preg_replace_回调函数,对我来说效果很好:

   $group_data['permission']=preg_replace_callback('!s:(\d+):"(.*?)";!', 
            function($match) {
             return ($match[1] == strlen($match[2])) ? $match[0] : 's:' . strlen($match[2]) . ':"' . $match[2] . '";';},
             $error_serialized_data);

您的错误表示控制器中的方法需要1个参数,您将其称为
Request$Request
,请将其删除。这就是您问题的解决方案。您的错误是控制器中的方法需要1个参数,您将其称为
Request$Request
,请将其删除。这就是你问题的答案。