2011-07-28 24 views
0

json_encode:CI:セッション変数と、次のように私は、クエリに渡すために私がしたい、私は私のセッションに追加した値を持つ

$eventTypeID = $this->session->userdata('eventtypeID'); 
$this->session->unset_userdata('eventtypeID'); 
$venueCityID = $this->session->userdata('venuecityID'); 
$this->session->unset_userdata('venuecityID'); 
echo json_encode($this->event_model->getSearchEvents($eventTypeID, $venueCityID)); 

私はに実行している問題は、最後の行ということです(echo json_encode ...)は、以前の変数が抽出/設定解除されても実行されません。変数をコメントアウトして実行すると、単純に実行されます。

echo json_encode($this->event_model->getSearchEventsAll()); 

すべてがうまくいきます。誰かがなぜjson_encodeがセッションでうまく動かないように見えるのか、これをどのように動かすことができるのかを教えてもらえますか?ありがとう!

かなりフラストレーション後

編集、今の問題は、セッションでないかもしれません表示されますが、私のクエリを出力して代わりに、次のとおりです。

$this->db->_compile_select();  
$q = $this->db->get(); 
echo $this->db->last_query(); 

すべて正常に動作するために使用、何が呼び出されているかを調べるためにクエリを「インターセプト」できましたが、今度は_compile & last_queryを使用すると何も起こりません。

+0

投稿編集:質問は何ですか?また、なぜ手動で '_compile_select()'を呼び出すのですか?あなたは「何も起こらない」の上で拡大してください。 –

+0

結果のクエリは画面に表示されません。 last_queryと組み合わせて_compile_select()を使用することをお勧めしました。したがって、その使用法、およびそれを実行するのではなくクエリを出力するために常に役に立ちました。 – user464180

+0

私はあなたの提案を以下に説明します。ありがとうございました! – user464180

答えて

0

json_last_error()を実行して、データのエンコードにエラーが発生していないかどうかを確認してください。適切な使用のためのドキュメントページ上の例を参照してください:

http://www.php.net/manual/en/function.json-last-error.php

我々は何$this->event_model->getSearchEvents($eventTypeID, $venueCityID)戻りVS $this->event_model->getSearchEvents()一定じゃない、間違いなく変数の使用に関連する問題があってはなりません。

いつものように、出力にはvar_dump()を試してみてください(デコード前に試してみてください)。また、関数の2つの戻り値の違いを確認してください。実行を停止している関数自体にエラーが発生している可能性もあります。error_reporting()がフルブラストであることを確認してください。

関連する問題