当我设置
$config['sess_use_database'] = TRUE;
然后如果我正在使用
$this->session->set_flashdata('message','record updated');
它将销毁所有会话数据。
如果我做错了
$config['sess_use_database'] = TRUE;
然后set_flashdata()
正在运行,并且不会破坏会话数据。
请告诉我如何解决这个问题。
提前致谢。
答案 0 :(得分:1)
您可以在"文件驱动程序"之间进行选择。 (默认)和"数据库驱动程序"。
如果要使用数据库驱动程序,请在配置中编辑两行:
$config['sess_driver'] = 'database'; // select database driver
$config['sess_save_path'] = 'ci_sessions'; // name of the mysql table
会话表(Codeigniter 3.x):
在config.php中编辑
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`)
);
创建表格:
$config['sess_use_database'] = TRUE;
$config['sess_save_path'] = 'ci_sessions'; // name of the mysql table
会话表(Codeigniter 2.x):
在config.php中编辑
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`)
);
创建表格:
{{1}}