Php 如何在ci_会话中保存会话_数据中的单个数据

Php 如何在ci_会话中保存会话_数据中的单个数据,php,mysql,session,codeigniter-3,Php,Mysql,Session,Codeigniter 3,我需要使用ci\u session将像first\u name这样的单个数据保存到另一个字段。我怎样才能做到这一点 下面是它正在保存到ci\u session的$session\u数据。我需要一个特定的数据在它里面被传递到日志字段 __最后一次再生| i:1558420176;登录| b:1;档案| O:8:“stdClass”:18:{s:2:id;s:1:1;s:5:email;s:17:teacher@email.com“s:7:”角色id“s:1:”2“s:19:”tekteach:”登

我需要使用
ci\u session
将像
first\u name
这样的单个数据保存到另一个字段。我怎样才能做到这一点

下面是它正在保存到
ci\u session
$session\u数据。我需要一个特定的数据在它里面被传递到日志字段

__最后一次再生| i:1558420176;登录| b:1;档案| O:8:“stdClass”:18:{s:2:id;s:1:1;s:5:email;s:17:teacher@email.com“s:7:”角色id“s:1:”2“s:19:”tekteach:”登录标志“s:1:”0“s:15:”注册日期“s:19:”0000-00-00:00:00:00”s:7:”删除了“s:1:”0“s:10:”名字“s:4:”姓“s:4:”isip“s:11:”中间名”s:7:“切斯特”s:6:“性别”s:4:“男性”s:8:”生日“s:10:10:“2019-05-10”s:6:“状态”s:6:“活动”s:12:“等级课程”s:0:“s:10:“创建人”N;s:10:“创建人”s:1:“0”s:11:“修改人”N;s:11:“修改人”s:1:“0”s:10:“删除人”s:1:“0”}

将会话项“first_name”添加到
$insert_data['log']
非常简单。此答案假设您使用的是CodeIgniter版本>3.0.0

$insert_data = array(
    ...other items...
    'log' => $this->session->first_name;
);
如果需要其他会话数据项,只需将“first_name”更改为所需的项。例如,电子邮件数据

'log' => $this->session->email;
或者,如果您完全肯定您想要的项目存在于会话数据中,您也可以这样做

$insert_data = array(
    ...other items...
    'log' => $_SESSION['first_name'];
);
这是获取会话数据的资源密集度最低、速度最快的方法。 但是请注意,如果
$\u会话['first\u name']
不存在,将抛出一个错误。第一个示例不会抛出错误,而是返回
NULL

将会话项“first\u name”添加到
$insert\u data['log']
非常简单。这个答案假设您使用的是CodeIgniter version>3.0.0

$insert_data = array(
    ...other items...
    'log' => $this->session->first_name;
);
如果需要其他会话数据项,只需将“first_name”更改为所需的项。例如,电子邮件数据

'log' => $this->session->email;
或者,如果您完全肯定您想要的项目存在于会话数据中,您也可以这样做

$insert_data = array(
    ...other items...
    'log' => $_SESSION['first_name'];
);
这是获取会话数据的资源密集度最低、速度最快的方法。
但是请注意,如果
$\u会话['first\u name']
不存在,将抛出错误。第一个示例不会抛出错误,而是返回
NULL

为什么要将所有会话用户数据保存到
$insert\u data['data']
?为什么要将所有会话用户数据保存到
$insert\u data['data']