さて、ユーザーへのメッセージを取得するためのこの標準クエリがあります
$s=$this->select()->where("to=?",$user->id)->orWhere("from=?",$user->id);
to の近くで構文エラーが発生します。
生成された sql
SELECT `messages`.* FROM `messages` WHERE (to='1')
phpymysqlでもエラーが発生します
そのため、to と from の前後にバッククォートを使用すると、それがなくなることがわかりました
$s=$this->select()->where("`to`=?",$user->id)->orWhere("`from`=?",$user->id);
同じデータベースの別のテーブルでそれを行う必要がなかったので、これには少し混乱しました
$select=$this->select()->where("city_id=?",$city->city_id);
//Works just fine w/o backticks
なぜですか?バッククォートが本当に必要なのはいつですか? 3 つすべてが INT(11) 列なので、違いはどこにありますか