我有一个代码点火器项目托管here,但我有错误号码:1054 未知栏' p.id'在' on条款'显示在网站上最受欢迎的部分。
以下是发出此错误的sql查询。
public function get_popular()
{
// Using active records
$this->db->select('P.*, COUNT(O.product_id) as total');
$this->db->from('orders AS O');
$this->db->join('products AS P', 'O.product_id = p.id','INNER');
$this->db->group_by('O.product_id');
$this->db->order_by('total','desc');
$query = $this->db->get();
return $query->result();
}
这段代码可以解决这个问题
$this->db->join('products AS P', 'O.product_id = p.id','INNER');
该项目在我的本地计算机上正常运行,直到我在此处托管以供查看
答案 0 :(得分:3)
这个很简单。您将表的别名声明为P - 大写字母:
$this->db->join('products AS P', ...)
然后通过一个较低的字母引用它:p.id
在Windows上,字母的情况 - P
或p
- 在Linux(可能由您的托管使用)上无关紧要。所以要修复此错误,只需输入:
$this->db->join('products AS p', 'O.product_id = p.id','INNER');
将来你可以使用严格的表格和字段小写名称,因为它可以在任何操作系统上使用。