1

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 サーバーのバージョンに対応するマニュアルで、order1 行目の「order != 0) ORDER BY ASC」付近で使用する正しい構文を確認してください。

どうして??!

4

1 に答える 1

3

order列名はSQL構文の予約語であるため、チェックマークを付ける必要があります。SQLのキーワードのように列に名前を付けない方がよいので、列の名前を別の名前に変更orderします。

于 2013-02-28T22:34:44.653 に答える