首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ZF2,在Db\SQL中使用WHERE

问ZF2,在Db\SQL中使用WHERE
EN

Stack Overflow用户
提问于 2012-12-31 00:49:59
回答 1查看 1.9K关注 0票数 1

我正在尝试使用ZF2的Db\SQL构建SQL对象。

下面是我的代码。

代码语言:javascript
复制
    $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属性:

代码语言:javascript
复制
$query->where($predicate->greaterThan('expire', 'NOW()'));

不幸的是,ZF2没有告诉我失败的原因,我只知道Statement could not be executed

我在上面做错了什么?

我认为prepare正在尽可能从字面上解释事情,因此mysql函数Now()的存在导致了它的失败。我怎么才能克服这个问题呢?

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-31 01:32:09

尝试调试最后的查询。您可以使用mysql查询记录器来执行此操作。在my.cnf(或my.ini)中设置:

log = "C:/genquery.log“

或

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

具体取决于系统。

然后重置mysql服务器,你就可以分析到底发生了什么。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14092523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档