2014-03-05 61 views
1

我正在使用以下查询从Opencart DB中选择数据。这一切都工作正常,直到最后的连接,我连接product_to_category表,然后我得到1064错误。没有那个加入查询工作正常 - 任何人都可以帮忙吗?SQL语法中的Opencart SQL错误错误号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

改变周围的如下最后一个表名的单引号:

$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']) . "'"; 
} 

有一个愉快的一天!