[PrestaShopDatabaseException]

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'AND product_shop.`visibility` != 'none' AND EXISTS(SELECT 1 FROM `ps_category_pr' at line 28<br /><br /><pre>SELECT p.*, product_shop.*, stock.out_of_stock, IFNULL(stock.quantity, 0) as quantity, product_attribute_shop.minimal_quantity AS product_attribute_minimal_quantity,IFNULL(product_attribute_shop.id_product_attribute,0) id_product_attribute, pl.`description`, pl.`description_short`, pl.`link_rewrite`, pl.`meta_description`, pl.`meta_keywords`, pl.`meta_title`, pl.`name`, pl.`available_now`, pl.`available_later`, m.`name` AS manufacturer_name, p.`id_manufacturer` as id_manufacturer, image_shop.`id_image` id_image, il.`legend`, ps.`quantity` AS sales, t.`rate`, pl.`meta_keywords`, pl.`meta_title`, pl.`meta_description`, DATEDIFF(p.`date_add`, DATE_SUB("2022-11-24 00:00:00", INTERVAL 14 DAY)) > 0 AS new FROM `ps_product_sale` ps LEFT JOIN `ps_product` p ON ps.`id_product` = p.`id_product` LEFT JOIN ps_product_shop product_shop ON (product_shop.id_product = p.id_product AND product_shop.id_shop = 1) LEFT JOIN `ps_product_attribute_shop` product_attribute_shop ON (p.`id_product` = product_attribute_shop.`id_product` AND product_attribute_shop.`default_on` = 1 AND product_attribute_shop.id_shop=1) LEFT JOIN `ps_product_lang` pl ON p.`id_product` = pl.`id_product` AND pl.`id_lang` = 1 AND pl.id_shop = 1 LEFT JOIN `ps_image_shop` image_shop ON (image_shop.`id_product` = p.`id_product` AND image_shop.cover=1 AND image_shop.id_shop=1) LEFT JOIN `ps_category_product` cp ON (cp.`id_product` = p.`id_product`) LEFT JOIN `ps_image_lang` il ON (image_shop.`id_image` = il.`id_image` AND il.`id_lang` = 1) LEFT JOIN `ps_manufacturer` m ON (m.`id_manufacturer` = p.`id_manufacturer`) LEFT JOIN `ps_tax_rule` tr ON (product_shop.`id_tax_rules_group` = tr.`id_tax_rules_group`) AND tr.`id_country` = 22 AND tr.`id_state` = 0 LEFT JOIN `ps_tax` t ON (t.`id_tax` = tr.`id_tax`) LEFT JOIN ps_stock_available stock ON (stock.id_product = `p`.id_product AND stock.id_product_attribute = 0 AND stock.id_shop = 1 AND stock.id_shop_group = 0 ) WHERE product_shop.`active` = 1 AND AND product_shop.`visibility` != 'none' AND EXISTS(SELECT 1 FROM `ps_category_product` cp JOIN `ps_category_group` cg ON (cp.id_category = cg.id_category AND cg.`id_group` = 1) WHERE cp.`id_product` = p.`id_product`) ORDER BY `product_shop`.`date_add` DESC LIMIT 0, 8</pre>

In the above message, you will see double AND AND statement. 

First of all, look at the error detail by scrolling down each line of error message.

Second, for the DbCore, you can ignore the error messages from these lines because it will always be the module problem. 

Third, find the affected module or customized codes in your shop. Our case is from the below screenshot. You can see the first argument is empty. It is why AND AND is presented. So, the first argument has some problem. We search $filter and found out $filter = ' ';  and we changed to $filter = 0; finally, the problem is solved.

 

Article Details

Article ID:
67
Rating :

Related articles