ZF2,在Db \ SQL中使用WHERE

时间:2012-12-30 16:49:59

标签: php zend-framework2

我正在尝试使用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()的存在导致它失败。我如何通过这个?

编辑:实际上,执行失败了。

1 个答案:

答案 0 :(得分:4)

尝试调试最终查询。您可以使用mysql查询记录器。 在my.cnf(或my.ini)中设置:

log =“C:/genquery.log”

OR

log =“/ var / log / mysql / error.log”

取决于系统。

然后重置mysql服务器,你可以分析真正发生的事情。