Всем привет, нужна Ваша помощь)
Вчера обнаружилась проблема на сайте, что при обновлении модов или просто чистка кеша и главная страница выдает ошибку HTTP 500.
АДМИНКА продолжает работать стабильно.
Сама ошибка:
Fatal error: Uncaught exception 'Exception' with message 'Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND p.upc = '1'' at line 1
Error No: 1064
SELECT p.product_id, (SELECT AVG(rating) AS total FROM oc_review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT price FROM oc_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM oc_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special AND p.upc = '1'' in /hom in /home/m/makeevoa/laminatica.ru/public_html/system/library/db/mysqli.php on line 40
Каким то макаром меня привело сюда:
# Получение списка хитов (по UPC)
public function getHitsProducts()
{
$this->load->model('catalog/product');
$sql = "SELECT p.product_id, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special";
$sql .= " AND p.upc = '1'";
$product_data = array();
$query = $this->db->query($sql);
foreach ($query->rows as $result) {
$categories = $this->model_catalog_product->getCategories($result['product_id']);
if($categories[0]['category_id'] != 0){
$seo_url =$categories[0]['category_id'];
}else{
$seo_url = $categories[0]['category_id'];
}
$product_data[$result['product_id']] = $this->getProduct($result['product_id']);
$product_data[$result['product_id']]['href'] = $this->url->link('product/product', 'path=' . $seo_url . '&product_id=' . $result['product_id']);
}
;
return $product_data;
}
Может кто помочь? Благодарность не просто словом будет.