我正在尝试使用ZF2的Db \ SQL构建一个SQL对象。
以下是我的代码。
$sql = new Sql($this->database);
$predicate = new Where();
$query = $sql->select();
$query->from('sessions');
$query->columns(array('sessiondata'));
$query->where($predicate->equalTo('sessionid', $sessionId));
$query->where($predicate->greaterThan('expire', new Expression("NOW()")));
正如您所读,我正在进行会话阅读。
由于[last] where属性:
,准备工作失败了$query->where($predicate->greaterThan('expire', 'NOW()'));
不幸的是,ZF2并没有告诉我它失败的原因,我所知道的是Statement could not be executed
上面我做错了什么?
我认为准备是按字面意思解释事物,因此mysql函数Now()
的存在导致它失败。我如何通过这个?
编辑:实际上,执行失败了。
答案 0 :(得分:4)
尝试调试最终查询。您可以使用mysql查询记录器。 在my.cnf(或my.ini)中设置:
log =“C:/genquery.log”
OR
log =“/ var / log / mysql / error.log”
取决于系统。
然后重置mysql服务器,你可以分析真正发生的事情。