1

我想要显示字段状态、jumlah、harga 和总计。

这是我的表结构

命令 {id_order, id_user, status}

订单详情 {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 服务器版本相对应的手册,以在第 1 行的“order on order_detail.id_order=order.id_order where order.id_user=16”附近使用正确的语法

4

3 回答 3

6

ORDER是保留字,对于ORDER BY. 你必须用反引号把它包起来。我还使用了别名ood因此您不必再做更多的反引号。更多字符 = 更多错误的可能性,但这部分取决于您。

$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)

于 2013-09-20T03:37:46.797 回答
1

order 是 MySQL 中的保留字。请参阅:http ://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

于 2013-09-20T03:38:40.157 回答
0

“订单”是一个保留字,您不能将其用作标识符。改用别的东西

于 2013-09-20T03:54:59.630 回答