0

私のサイトは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()); 

問題は、Function1コードがデータをセッションテーブルに保存しないことです。関数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 に答える