Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CodeIgniter-如何查询数据库会话?_Php_Codeigniter_Session - Fatal编程技术网

Php CodeIgniter-如何查询数据库会话?

Php CodeIgniter-如何查询数据库会话?,php,codeigniter,session,Php,Codeigniter,Session,我的CI会话存储在我的数据库中 我在CodeIgniter之外有一个本机PHP脚本,它需要userdata中的一些信息。my是否有办法查询CI会话表并确定当前用户的会话是什么?我认为CI会检查用户IP和“浏览器数据字符串的前120个字符”。这两段数据可用于外部脚本,对吗?我可以查询这两个字段并得到准确的结果吗?或者CI是否知道会话id是什么 或者,我认为可以从包含所需信息的CI设置本机会话变量,并尝试在外部PHP脚本中访问它。它不起作用 我愿意接受建议。我使用此代码将comet chat(一个外

我的CI会话存储在我的数据库中

我在CodeIgniter之外有一个本机PHP脚本,它需要
userdata
中的一些信息。my是否有办法查询CI会话表并确定当前用户的会话是什么?我认为CI会检查用户IP和“浏览器数据字符串的前120个字符”。这两段数据可用于外部脚本,对吗?我可以查询这两个字段并得到准确的结果吗?或者CI是否知道会话id是什么

或者,我认为可以从包含所需信息的CI设置本机会话变量,并尝试在外部PHP脚本中访问它。它不起作用


我愿意接受建议。

我使用此代码将comet chat(一个外部应用程序)与我的CI用户系统集成:您可能需要修改它,但您可以获得gyst:

$decoded_ci_session = @unserialize(@stripslashes($_COOKIE['ci_session']));

$sql = "SELECT user_data FROM ".TABLE_PREFIX."sessions WHERE session_id = '".$decoded_ci_session['session_id']."'";

$query = mysql_query($sql);
$row = mysql_fetch_array($query);
$decoded_ci_session = @unserialize(@stripslashes($row[0]));

最后,$decoded_ci_session应该包含
$this->session->userdata()

中的所有用户数据。有趣的是,我这样做是CometChat集成的一部分。您将整个CI会话放在cookie中?我刚刚使用了CI db_会话库的默认设置。我想这就像会话id和其他两条信息。但是通过会话id,您可以查询数据库,并使用它作为密钥获取其余数据。您可以在cometchat中的集成文件中使用var_dump($_COOKIE),它会告诉您ci_会话中的内容。