2011-07-28 68 views
0

我有價值觀我已經添加到我的會議,我想傳遞到查詢,如下所示:CI:會話變量和json_encode

$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在會話中看起來不太合適,我怎麼能夠讓這個工作起作用?謝謝!

EDITED

太多的無奈之後,現在出現的問題可能不是與會話,但不是與輸出我的查詢:

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

全部用來做工精細,並且我能夠「攔截」查詢來查看正在調用的內容,但現在使用_compile & last_query時,什麼也沒有發生?

+0

帖子編輯:問題是什麼?另外,你爲什麼手動調用'_compile_select()'?你能否擴展「沒有任何反應」? –

+0

生成的查詢不會打印到屏幕上。我後來被建議使用_compile_select()與last_query結合使用,因此它的用法和它總是在打印查詢而不是執行它的方面起作用,所以我可以驗證它是否格式正確。 – 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()(嘗試在解碼之前嘗試)並查看函數的兩個返回值之間的差異。你甚至可能會在停止執行的函數本身中遇到錯誤 - 確保error_reporting()處於全面爆炸狀態。