我在codeigniter中有活动记录的问题 .
这是我的sql
$this->db->select('*');
$this->db->from('news as n');
$this->db->join('user as u', 'n.id_user = u.id_user');
$this->db->where('like >','10');
$this->db->limit(10);
$this->db->offset($offset);
$query = $this->db->get();
return $query->result_array();
“ news ”表包含“ like ”列和表“ user " also containing column " like ”
输出如下:
where子句中的'like'列是不明确的
SELECT * FROM (`news` as n)
JOIN `user` as u ON `n`.`id_user` = `u`.`id`
WHERE `like` > '10' LIMIT 5
然后我更换
$this->db->where('like >','10');
同
$this->db->where('n.like >','10');
因为我想在新闻台中...但它没有用
有解决方案吗
4 回答
你需要使用新闻表的别名
n
所以n.like
这仍然不起作用,因为
like
是mysql的保留关键字 . 您需要将列名更改为其他名称 . 阅读更多关于mysql保留关键字的信息here尝试这样的事情
注意:将列名更改为保留关键字以外的名称
如果你有“喜欢”作为列名,请将列放在撇号(`)中
但是,使用任何mysql保留关键字作为标识符并不是一个好习惯 . 将列名更改为else,如果多个表使用like列,则使用表别名 .
如果你可以避免使用保留关键字会更好,所以例如将列名改为喜欢 .