[英]Saving to session table in codeigniter
我的网站使用Session,并且已经将其配置为将信息保存到数据库中,从而可以保存大量的用户数据。 该站点还连接到MySQL和MSSQL数据库以检索用户信息。 会话数据库位于MySQL数据库中,此部分正在运行。
该网站的逻辑是:1.用户搜索内容,搜索按钮附加到一些jQuery代码上,该代码将搜索项发送到控制器中的2个函数。
2.函数1访问MSSQL数据库,获取数据,将查询和查询结果保存到会话中,并将查询结果返回到视图。 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,以允许将更多信息存储在此处。
有人可以帮忙吗?
谢谢!
将数据存储到会话中时,必须进行序列化。 $ query-> result_array()的结果是一个数组,当尝试将其存储为字符串时可能会造成一些麻烦。
尝试在将事物推入和推出会话时调用序列化和反序列化以保持数据结构完整。
使用CodeIgniter本机会话http://codeigniter.com/wiki/Native_session解决了该问题
看来CodeIgniter中的Sessions和jQuery存在一些问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.