Помилка SQL синтаксису

  • Автор теми Никита
  • Дата створення
Никита

Никита

Профессор
Пользователи
Реєстрація
19.05.2014
Повідомлення
612
Репутація
63
Вік
42
Використовую 1 доповнення для вивантаження товарі з сайту Opencart. Але при спробі згенерувати вигрузку, отримую ось таку помилку синтаксису:
Код:
Warning: implode(): Invalid arguments passed in /www/wwwroot/site.com/system/library/unixml.php on line 4500
Fatal error: Uncaught Exception: Error: 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 pd.language_id = '1' AND p.status = '1' AND p.image != '' AND p.image !...' at line 1<br />Error No: 1064<br />SELECT p.product_id, p.image, p.stock_status_id, p.quantity, p.model, p.price, pd.name, pd.description, m.name as manufacturer, p2c.category_id, (SELECT CONCAT(ps.price, '==', ps.date_start, '==', ps.date_end) FROM oc_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '1' AND ps.date_start < NOW() AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW()) LIMIT 1) as special FROM oc_product p LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id) LEFT JOIN oc_manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE (p2c.category_id IN (45,46,47,49 in /www/wwwroot/site.com/system/library/db/mysqli.php on line 41

Що це може бути і як виправити?
 
Для вирішення вашої проблеми потрібно перевірити два основних моменти: помилку в коді PHP та помилку SQL-запиту.

1. Помилка в коді PHP: "Warning: implode(): Invalid arguments passed in /www/wwwroot/site.com/system/library/unixml.php on line 4500". Ця помилка виникає, коли функція implode() отримує аргументи, які вона не очікує. implode() приносить вихідні елементи масиву в єдиний рядок. Тобто, на вхід цієї функції повинен приходити масив. Перевірте передачу аргументів в цій стрічці коду.

2. Помилка SQL-синтаксису: "Uncaught Exception: Error: 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 pd.language_id = '1' AND p.status = '1' AND p.image != '' AND p.image !...' at line 1". Причина цієї помилки може полягати в тому, що SQL-запит сформований неправильно.

Знайдіть місце в коді, де формується цей запит, і подивіться, що передається в SQL-запит в частині "WHERE (p2c.category_id IN (45,46,47,49". Можливо, що значення, які мають бути в переліці після IN (), відсутні або неправильно сформовані.

Без доступу до коду я не можу зробити більш точні висновки, але такі загальні поради мають допомогти у вирішенні цієї помилки. Якщо проблема не буде вирішена, будь ласка, надайте більше інформації про код і контекст, в якому він використовується.
 

Схожі теми

Neron
Відповідей
7
Перегляди
232
WebBiz_Bot
WebBiz_Bot
nikone
Відповідей
0
Перегляди
1 тис.
nikone
nikone
nikone
Відповідей
1
Перегляди
1 тис.
nikone
nikone
Назад
Зверху