我正在尝试使用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()")));正如您所读到的,我正在进行会话读取。
准备执行失败,因为最后一个where属性:
$query->where($predicate->greaterThan('expire', 'NOW()'));不幸的是,ZF2没有告诉我失败的原因,我只知道Statement could not be executed
我在上面做错了什么?
我认为prepare正在尽可能从字面上解释事情,因此mysql函数Now()的存在导致了它的失败。我怎么才能克服这个问题呢?
编辑:实际上,是执行失败了。
发布于 2012-12-31 01:32:09
尝试调试最后的查询。您可以使用mysql查询记录器来执行此操作。在my.cnf(或my.ini)中设置:
log = "C:/genquery.log“
或
log = "/var/log/mysql/error.log“
具体取决于系统。
然后重置mysql服务器,你就可以分析到底发生了什么。
https://stackoverflow.com/questions/14092523
复制相似问题