我喜欢在Where子句和Order中使用Zend中的列:
$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
order
ASC'附近使用正确的语法
为什么??!
答案 0 :(得分:3)
您必须将列名order
放入刻度,因为它是SQL语法的保留字。
更好的做法是永远不要像SQL中的关键字那样将列命名,因此将列order
重命名为其他内容。