2011-07-28 67 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()处于全面爆炸状态。