Перейти к содержанию

Рекомендуемые сообщения

Приветствую Уважаемые коллеги! Вчера, после удаления всех стран и регионов (за ким чертом они там в таком количестве я не знаю) , при заходе в товар, появилось вот такое:

 

Quote

Warning: mysqli::query(): (21000/1242): Subquery returns more than 1 row in /home/************/system/library/db/mysqli.php on line 19Notice: Error: Subquery returns more than 1 row
Error No: 1242
SELECT DISTINCT *, (SELECT keyword FROM oc_url_alias WHERE query = 'product_id=6736') AS keyword FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) WHERE p.product_id = '6736' AND pd.language_id = '1' in /home/**********/system/library/db/mysqli.php on line 41Notice: Trying to get property of non-object in /home/***********/system/storage/modification/admin/model/catalog/product.php on line 446Notice: Undefined variable: next_code in /home/************/system/storage/modification/admin/controller/catalog/product.php on line 848

 

Естественно, в самих карточках товаров то же каша. Товары были залиты ДО того, как удалялись страны/регионы. Насколько я понимаю, в базе они как то в каждом (или не в каждом) товаре были прописаны, после удаления, естественно, стали возникать ошибки, но как это исправить, подскажите, пожалуйста

 

Версия магазина - OcStore 2.1.0.2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 минут назад, Voland сказал:

после удаления всех стран и регионов (за ким чертом они там в таком количестве я не знаю)

не поверите - за МКАДом тоже есть жизнь! :-D

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Just now, AlexDW said:

не поверите - за МКАДом тоже есть жизнь! :-D

 

да быть не может :-D а по теме? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вообще, удаление стран/регионов штатно никак не отражается на самих товарах

по ошибке - больше похоже на дублирование seourl

 

разбирайтесь с допилами, пробуйте восстановить страны/регионы (из бекапа или выдернуть из установочного файла от вашей версии движка)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

плюс ненужные страны/регионы лучше не удалять, а просто отключать

мало ли - вдруг понадобятся

 

например этим

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 minutes ago, AlexDW said:

вообще, удаление стран/регионов штатно никак не отражается на самих товарах

по ошибке - больше похоже на дублирование seourl

 

разбирайтесь с допилами, пробуйте восстановить страны/регионы (из бекапа или выдернуть из установочного файла от вашей версии движка)

 

Да, страны и регионы я восстановил из бекапа, ошибка та же. Зато, после чистки кеша, восстановились акции...чудо скрипт просто :-D

 

Насчет дублирования url, если с ним связано, попробовать отключить эту опцию или в базе где то надо копать? Сейчас посмотрел таблицу oc_product, там вообще нет урлов....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

seourl хранятся в таблице url_alias

проверяйте ее на уникальность product_id=6736

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 minutes ago, AlexDW said:

seourl хранятся в таблице url_alias

проверяйте ее на уникальность product_id=6736

 

нашел уже, но дело в том, что ошибка возникает в любом товаре, то есть при заходе в другой продукт мы уже имеем  product_id=6737 , например....

 

почитал я тут форум, есть одна похожая тема, вот эта:

 

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Voland вы невнимательно читаете, что пишут. Проверьте запросом к базе

SELECT keyword FROM oc_url_alias WHERE query = 'product_id=6736'

окажется, что возвращается больше одной строки. И затем ищите причину появления дубликатов в этой таблице.

 

Вылечить проблему можно удалением дубликатов (и устранением причины их появления). Временно решить проблему можно и дописыванием LIMIT 1 в тот подзапрос. Подстрахует и даст работать, но причину появления дублей это не устранит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 minutes ago, rb2 said:

@Voland вы невнимательно читаете, что пишут. Проверьте запросом к базе


SELECT keyword FROM oc_url_alias WHERE query = 'product_id=6736'

окажется, что возвращается больше одной строки. И затем ищите причину появления дубликатов в этой таблице.

 

Вылечить проблему можно удалением дубликатов (и устранением причины их появления). Временно решить проблему можно и дописыванием LIMIT 1 в тот подзапрос. Подстрахует и даст работать, но причину появления дублей это не устранит.

 

Спасибо большое. И правда, дубли, да и проблема только с определенными товарами..буду искать причину дублей...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.