【问题标题】:Zend DB using a column for both Where and Order clauseZend DB 使用 Where 和 Order 子句的列
【发布时间】:2013-02-28 22:29:38
【问题描述】:

我喜欢在 Zend 中的 Where 子句和 Order 中使用一列:

$select = $this->select();
$select = $select->where('year = ?', $year)
                 ->where('order != ?', 0)
                 ->order('order');
$rows = $this->fetchAll($select);

但是当我这样做时,我收到以下错误:

SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'order != 0) ORDER BY orderASC' 附近使用正确的语法

为什么??!

【问题讨论】:

  • 当您删除->order()-call 时,它是否有效?

标签: mysql sql zend-framework


【解决方案1】:

您必须将列名order 放入记号中,因为它是 SQL 语法的保留字。 最好不要将列命名为 SQL 中的关键字,因此请将列重命名为 order

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-06
    • 1970-01-01
    • 2010-10-24
    • 2016-06-12
    • 1970-01-01
    相关资源
    最近更新 更多