使用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;
}
}
答案 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用户指南并检查正确的会话表结构。