CodeIgniter:发生数据库错误错误号:1054

时间:2017-01-21 09:26:52

标签: php mysql codeigniter

使用CodeIgniter时出现此错误:

A Database Error Occurred

Error Number: 1054

Unknown column 'data' in 'field list'

SELECT `data` FROM `ci_sessions` WHERE `id` = '4j5h21j1us9nhah0qc1hqmmmevb1oa2f' AND `ip_address` = '::1'

Filename: C:/wamp64/www/life/app/delta/system/database/DB_driver.php

Line Number: 691

令人沮丧。我已经尝试了所有我知道的事情。

这是我的控制器的一部分,我认为错误来自

public function index() {
    if ($this->session->userdata('logged_in') == TRUE) {
        if ($this->session->userdata('usr_access_level') == 1) {
            redirect('users');
        } else {
            redirect('me');
        }
    }


        $data['login_fail'] = TRUE;
        $this->load->view('common/login_header');
        $this->load->view('admin/signin', $data);
        $this->load->view('common/footer');
    } else {
        $data = array(
            'usr_id' => $row->usr_id,
            'acc_id' => $row->acc_id,
            'user_name' => $row->user_name,
            'usr_access_level' => $row->usr_access_level,
            'logged_in' => TRUE
        );

        // Save data to session
        $this->session->set_userdata($data);
        if ($data['usr_access_level'] == 2) {
            redirect('me');
        } elseif ($data['usr_access_level'] == 1) {
            redirect('users');
        } else {
            redirect('me');
        }

}

这是控制器的模型

class _model extends CI_Model 

{

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

public function does_user_exist($email) {
    $this->db->where('user_name', $email);
    $query = $this->db->get('users');
    return $query;
}

}

2 个答案:

答案 0 :(得分:0)

将您的代码修改为

if ($this->session->userdata('usr_access_level') == 2) {
            redirect('me');
        } elseif ($this->session->userdata('usr_access_level') == 1) {
            redirect('users');
        } else {
            redirect('me');
        }

答案 1 :(得分:0)

感谢您的支持。问题来自我的数据库,列'数据'和'id'在会话表中不可用。对于有相同问题的任何人,请转到code-igniter用户指南并检查正确的会话表结构。