mysql显示来自多个表的数据

时间:2013-09-20 03:33:25

标签: php sql mysqli

我想要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行

3 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

相关问题