И всем снова привет, решил еще написать как победить ошибку которая у меня возникла при работе с сайтом на 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 ' > ') 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:
В итоге эту ошибку можно победить след образом:
- Открыть phpMyAdmin
- найти таблицу oc_url_alias
- почистить значения
в моем случае было так, я весь товар и категории удалял через phpMyAdmin и где то остались хвосты и в итоге вновь созданные категории с их id пересеклись со старыми.
ИТОГ: зайти в таблицу oc_url_alias и удалить явно ненужные значения
После этого все завелось с пол оборота )
Надеюсь моя статья Вам помогла!
Огромное спасибо !!!!
Velika hvala !
Спасибо дружище!
Кажется это та самая проблема с которой я боролся давно и не мог понять откуда оно прет.