【发布时间】:2012-11-15 19:16:31
【问题描述】:
我在 codeigniter 中使用以下查询:
$this->db->select('products.id,
categories.name as cat_name,
products.name as name,
products.product_image,
products.description,
products.price,
products.furl,
products.on_sale,
products.quantity_in_stock,
products.product_code,
products.rating_1,
products.rating_2,
products.rating_3,
products.rating_4,
products.rating_5,
products.rated_by,
products.discount,
((products.rating_1+products.rating_2,
products.rating_3,
products.rating_4,
products.rating_5)/rated_by as calc)
');
我在检查 calc 附近的 sql 语法时遇到错误。请解释问题的出处和原因。 p.s:我只是想按这样的子句顺序使用 calc:
$this->db->order_by('calc','desc');
$this->db->get();
更新:这是我在执行此查询时得到的:
Error Number: 1064
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'as calc) FROM (products) JOIN categories ON categories.id=products.`ca' 附近使用正确的语法
【问题讨论】:
-
不应该是
products.rating_1+products.rating_2+products.rating_3+products.rating_4+products.rating_5)/rated_by as calc。尝试 print_r() 查询,它应该会给你形成的 SQL 语句,便于调试。 -
试试
$this->db->get('your_table_name');
标签: mysql codeigniter activerecord