Opencart — ошибка Warning: mysqli::query(): (21000/1242): Subquery returns more than 1 row in

opencart

И всем снова привет, решил еще написать как победить ошибку которая у меня возникла при работе с сайтом на Opencart по светодиодному освещению Арлайт моего клиента, данная ошибка у меня возникла когда я решил зайти и отредактировать категории и при заходе получал белый экран и ошибку:

Warning: mysqli::query(): (21000/1242): Subquery returns more than 1 row in   /public_html/system/library/db/mysqli.php on line 18

если посмотреть в лог на сервере то увидим такую картину (как включить лог на ошибки читайте мою прошлую статью)

[12-Nov-2017 22:57:38 Europe/Moscow] PHP Fatal error:    Uncaught exception 'Exception' with message 'Error: Subquery returns more than 1 row<br />  Error No: 1242<br />SELECT DISTINCT *,   (SELECT GROUP_CONCAT(cd1.name ORDER BY level SEPARATOR '&nbsp;&nbsp;&gt;&nbsp;&nbsp;')   FROM oc_category_path cp LEFT JOIN oc_category_description cd1  ON (cp.path_id = cd1.category_id AND cp.category_id != cp.path_id)   WHERE cp.category_id = c.category_id AND cd1.language_id = '1' GROUP BY cp.category_id) AS path,   (SELECT DISTINCT keyword FROM oc_url_alias WHERE query = 'category_id=2')   AS keyword FROM oc_category c LEFT JOIN oc_category_description cd2   ON (c.category_id = cd2.category_id)   WHERE c.category_id = '2' AND cd2.language_id = '1'' in /public_html/system/library/db/mysqli.php:40  Stack trace:  

В итоге эту ошибку можно победить след образом:

  1. Открыть phpMyAdmin
  2. найти таблицу  oc_url_alias
  3. почистить значения

в моем случае было так, я весь товар и категории удалял через phpMyAdmin и где то остались хвосты и в итоге вновь созданные категории с их id пересеклись со старыми.

ИТОГ: зайти в таблицу  oc_url_alias и удалить явно ненужные значения

После этого все завелось с пол оборота )

Надеюсь моя статья Вам помогла!

сказать спасибо автору блога
Оцените статью
Блог ITишника и просто человека
Добавить комментарий

  1. Radovan

    Velika hvala !

    Ответить
  2. Влад

    Огромное спасибо !!!!

    Ответить