簡體   English   中英

保存到Codeigniter中的會話表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM