当前位置: 首页 > 面试题库 >

如何在Codeigniter 3数据库中设置会话?

鲁城
2023-03-14
问题内容

我正在使用新版本(3.0.0)。CodeIgniter的问题,我遇到了一个新问题,我的会话无法正常工作。我的意思是,控制器中的代码是正确的,因为没有错误,但是,当我尝试在视图中打印PHP变量时,什么也没有。

我在MySQL服务器中检查了我的表,什么也没有,我现在不出什么问题了。我把我的代码config.php。(我不太了解这个新版本中的很多内容)

$config['sess_table_name']              = 'ci_sessions';
$config['sess_driver']              = 'database';
$config['sess_cookie_name']             = 'ci_session';
$config['sess_expiration']          = 7200;
$config['sess_save_path']               = NULL;
$config['sess_match_ip']                = FALSE;
$config['sess_time_to_update']      = 300;
$config['sess_regenerate_destroy']  = FALSE;

我必须在“ make”会话中添加第一行,但我不知道该配置是否正确以在数据库中进行会话。

如果有人有相同的问题,请帮助我:(。我的Session类尚未编辑。


问题答案:

首先,CI3会话表和CI2会话表(将会话数据保存到数据库)的结构不同

新的会话表结构

 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_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_sessions';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'ci_sessions';//its your table name name
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;

在他们的文档中查看更多详细信息

很少有新功能可用于会话库。

记住 不要忘记通过autoload.php加载它,或者$this->load->library('session');在使用前加载它。



 类似资料:
  • 问题内容: 如何在php和mysql中使用数据库表中的会话? 问题答案: 您将需要创建一个像这样的对象: 然后,在session_start之前,初始化此类! http://php.net/manual/zh/function.session-set-save- handler.php http://php.net/manual/zh/function.serialize.php

  • 问题内容: 我是Python和Django的新手。 我正在使用PostgreSQL数据库引擎后端配置Django项目,但是每个数据库操作都出现错误。例如,当我跑步时,我得到: 有人可以告诉我发生了什么吗? 问题答案: 你需要安装psycopg2Python库。 安装 下载http://initd.org/psycopg/,然后将其安装在Python PATH下 下载后,轻松解压缩tarball并:

  • 我有一个Anylogic模型,其中车辆在GIS地图上从一点移动到另一点。目标点从数据库加载(见图)。通过使用源块,订单详细信息被映射到代理的总体中(订单类型)。这组指令用于引导车辆在GISmap上行驶。现在,我想知道车辆经过的距离。然而,我遇到了一些麻烦。数据库中的位置只能映射到参数类型字符串。这很烦人,因为这意味着我不能使用“distanceTo”函数。是否可以将数据库中的字符串映射到locat

  • MySQL、Oracle、PostgreSQL、SQL Server、MariaDB 在“据库”选项卡中,你可以设置从数据库导入窗口显示哪些数据库。这设置不是强制的。若要设置自定义数据库设置,请勾选“使用自定义数据库列表”。然后,从“名”列勾选要显示的数据库。 添加一个隐藏的数据库到列表 点击“+”按钮。 输入数据库名。 在数据库列表中勾选新添加的数据库。 从列表中移除一个数据库 在数据库列表中选

  • 在“数据库”选项卡中,你可以设置在从数据库导入窗口显示哪些数据库。这设置不是强制的。若要设置自定义数据库设置,请勾选“使用自定义数据库列表”。然后,从“数据库”列勾选要显示的数据库。 【注意】仅适用于 MySQL、Oracle、PostgreSQL、SQL Server 和 MariaDB。 添加一个隐藏的数据库到列表 点击“添加数据库到列表”按钮。 输入数据库名。 在数据库列表中勾选新添加的数据

  • MySQL、Oracle、PostgreSQL、SQL Server、MariaDB、MongoDB 在“数据库”选项卡中,你可以设置连接到服务器时导航窗格显示哪些数据库。这设置不是强制的。若要设置自定义数据库设置,请勾选“使用自定义数据库列表”。然后,从“名”列勾选要显示的数据库。如果你想连接时 Navicat 自动打开数据库,勾选“自动打开”框。 添加一个隐藏的数据库到列表 点击“+”按钮。