我想要show field status,jumlah,harga和total。
这是我的表结构
订单 {id_order, id_user, status}
order_detail {id_order,jumlah, harga, total}
这是我的查询功能:
function shopstat($user_id) {
return $this->db->query("SELECT * from order_detail left join order on order_detail.id_order=order.id_order where order.id_user=$user_id");
}
但我的语法错误:
错误号码:1064
您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以便在order_detail.id_order = order.id_order附近使用正确的语法,其中order.id_user = 16'在第1行
答案 0 :(得分:6)
ORDER
是ORDER BY
的保留字。你必须用反引号包装它。我还使用了别名o
和od
,所以你不必再做更多的反引号。更多的字符=错字的可能性更大,但那部分取决于你。
$query = "SELECT * from order_detail od
LEFT JOIN `order` o ON od.id_order=o.id_order
WHERE o.id_user=$user_id";
return $this->db->query($query);
保留字的完整列表如下:
http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html(来自Fouad)
答案 1 :(得分:1)
order是MySQL中的保留字。请参阅:http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html
答案 2 :(得分:0)
“订单”是一个保留字,您不能将其用作标识符。改用其他东西