我已经添加到我的会话中的值,我想将其传递给查询,如下所示:
$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 :(得分: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()
处于完全爆炸状态。