我正在使用带有会话的codeigniter创建一个网站。当我在codeigniter中加载欢迎页面时,它显示错误,如: -
错误号码:1054,'字段列表'中的未知列'数据',SELECT 数据FROM ci_sessions WHERE id = '562a04f4kt6j4n6eehsob3vm3puuc3r5',文件名: C:/xampp/htdocs/ci_ecom/system/database/DB_driver.php,行号: 691。
我在相应的自动加载区域中调用会话库和数据库库。我不确切地知道我在哪里犯了错误我在C中检查它:/xampp/htdocs/ci_ecom/system/database/DB_driver.php此路径区域也是.. 在我的表格中,我将列名称设为user_data,但在“字段列表”中显示未知列“数据”。
这是我的表格结构
CREATE TABLE IF NOT EXISTS `ci_sessions` (
session_id varchar(40) DEFAULT '0' NOT NULL,
ip_address varchar(45) DEFAULT '0' NOT NULL,
user_agent varchar(120) NOT NULL,
last_activity int(10) unsigned DEFAULT 0 NOT NULL,
user_data text NOT NULL,
PRIMARY KEY (session_id),
KEY `last_activity_idx` (`last_activity`)
);
这是我的ci会议
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
any one can u pls help what is the exact problem...
答案 0 :(得分:3)
直接的答案是以这种格式创建表格,
CREATE TABLE IF NOT EXISTS `ci_sessions` (
`id` varchar(40) NOT NULL,
`ip_address` varchar(45) NOT NULL,
`timestamp` int(10) unsigned DEFAULT 0 NOT NULL,
`data` blob NOT NULL,
PRIMARY KEY (id),
KEY `ci_sessions_timestamp` (`timestamp`)
);
一切都会好起来的。这是因为在最新版本的codeigniter中修改了会话表结构
答案 1 :(得分:0)
您的ci_sessions
table
没有数据字段,但在您尝试加载或写入的问题中未显示的查询中。
答案 2 :(得分:0)
我相信你在CodeIgniter 3.X中遇到过这个问题。要解决此问题:将config.php更新为如下所示。
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'ci_session';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;