SQL语法错误号1064中的Opencart SQL错误

时间:2014-03-05 14:41:20

标签: php sql opencart

我使用以下查询从Opencart DB中选择数据。这一切都正常,直到我链接product_to_category表的最终连接,然后我得到1064错误。没有它加入查询工作正常 - 任何人都可以帮忙吗?

$purchased = "SELECT op.quantity, oo.product_option_value_id, oo.product_option_id,     op.order_product_id,op.product_id,op.name,o.order_id,ptc.product_id
                    FROM `order` o
                    JOIN `order_product` op ON o.order_id = op.order_id
                    LEFT JOIN `order_option` oo ON op.order_product_id =  oo.order_product_id
                    LEFT JOIN 'product_to_category' ptc ON  op.product_id = ptc.product_id";    

    if (!empty($data['filter_date_start'])) {
        $purchased .= " WHERE DATE(o.date_added) >= '" . $this->db- >escape($data['filter_date_start']) . "'";
    }   else {
        $purchased .= " WHERE DATE(o.date_added) >= '1900-01-01'";
    }
    if (!empty($data['filter_date_end'])) {
        $purchased .= " AND DATE(o.date_added) <= '" . $this->db->escape($data['filter_date_end']) . "'";
    }

1 个答案:

答案 0 :(得分:1)

更改最后一个表名称旁边的单引号,如下所示:

 $purchased = "SELECT op.quantity, oo.product_option_value_id, oo.product_option_id,     op.order_product_id,op.product_id,op.name,o.order_id,ptc.product_id
                FROM `order` o
                JOIN `order_product` op ON o.order_id = op.order_id
                LEFT JOIN `order_option` oo ON op.order_product_id =  oo.order_product_id
                LEFT JOIN `product_to_category` ptc ON  op.product_id = ptc.product_id";    

if (!empty($data['filter_date_start'])) {
    $purchased .= " WHERE DATE(o.date_added) >= '" . $this->db- >escape($data['filter_date_start']) . "'";
}   else {
    $purchased .= " WHERE DATE(o.date_added) >= '1900-01-01'";
}
if (!empty($data['filter_date_end'])) {
    $purchased .= " AND DATE(o.date_added) <= '" . $this->db->escape($data['filter_date_end']) . "'";
}

度过美好的一天!!