0

我的站点使用 Session 并且我已将其配置为将信息保存到数据库中,以允许我保存大量用户数据。该站点还连接到 MySQL 和 MSSQL 数据库以检索用户信息。会话数据库在 MySQL 数据库中,这部分正在工作。

该网站的逻辑是: 1. 用户搜索某物,搜索按钮附加到一些 jQuery 代码,该代码将搜索词发送到我的控制器中的 2 个函数。
2、函数1访问MSSQL数据库,获取数据,将查询和查询结果保存到session中,并将查询结果返回给View。3. 函数 2 的作用完全相同,只是它查询 MySQL 数据库。

功能 1 代码执行此操作:

 $this->session->set_userdata('get_function1_query',$lastquery);
 $this->session->set_userdata('get_function1_result',$query->result_array()); 

功能 2 代码执行此操作:

 $this->session->set_userdata('get_function2_query',$lastquery);
 $this->session->set_userdata('get_function2_result',$query->result_array()); 

问题是函数 1 代码没有将数据保存到会话表中。如果我删除函数 2 代码,那么函数 1 代码就可以工作!

最后,查询的结果集很小。尽管如此,我还是将 ci_sessions 表中“user_data”字段的数据类型从 TEXT 更改为 MEDIUMTEXT,以允许将更多信息存储在那里。

任何人都可以帮忙吗?

谢谢!

4

2 回答 2

1

将数据存储到会话中时,必须对其进行序列化。$query->result_array() 的结果是一个数组,在尝试将其存储为字符串时可能会带来一些麻烦。

尝试调用序列化和反序列化以在将事物推入和推出会话时保持数据结构完整。

于 2012-04-16T10:14:52.127 回答
0

使用 CodeIgniter 本机会话解决了它 http://codeigniter.com/wiki/Native_session

CodeIgniter 中的 Sessions 和 jQuery 似乎存在一些问题

于 2012-04-17T08:34:01.087 回答