$ config ['sess_use_database'] = TRUE然后set_flashdata()在codeigniter中无法正常工作

时间:2015-07-31 12:13:02

标签: codeigniter session

当我设置

$config['sess_use_database'] = TRUE;

然后如果我正在使用

$this->session->set_flashdata('message','record updated');

它将销毁所有会话数据。

如果我做错了

$config['sess_use_database'] = TRUE;

然后set_flashdata()正在运行,并且不会破坏会话数据。

请告诉我如何解决这个问题。

提前致谢。

1 个答案:

答案 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}}