好的,所以我有这个标准查询来获取用户的消息
$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
为什么会这样?什么时候真的需要反引号?这三个都是 INT(11) 列,所以区别在哪里