Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Warning: mysqli::query(): (21000/1242) Как исправить?


Recommended Posts

Здравствуйте! При переносе данных с версии 1.5.1. на ocStore 3.0.2.0 с помощью модуля минграции A-Migration на некоторых товарах и категориях вылетет ошибка.

 

Warning: mysqli::query(): (21000/1242): Subquery returns more than 1 row in ...system/library/db/mysqli.php on line 18
Fatal error: Uncaught exception 'Exception' with message 'Error: Subquery returns more than 1 row<br />Error No: 1242<br />SELECT DISTINCT *, pd.name AS name, p.image, p.noindex AS noindex, m.name AS manufacturer, (SELECT price FROM oc30_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM oc30_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM oc30_product_reward pr WHERE pr.product_id = p.product_id AND pr.customer_group_id = '1') AS reward, (SELECT ss.name FROM oc30_stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss. in ...system/library/db/mysqli.php on line 40

 

Во всем разбираюсь сама, так что не судите строго, если есть возможность подскажите, как убрать ошибку.:oops:

 

Почитав информацию в интернете, пришла к выводу, что эта ошибка возможна из-за дублей товаров и раньше она решалась удалением дублей в таблице oc_url_alias. Но в 3,0 такой таблицы нет. 

Надіслати
Поділитися на інших сайтах


9 минут назад, nikifalex сказал:

есть похожая. oc_seo_url называется

 

Там смотрела, но там сего 30 строк так сказать новосозданных SEO генератором. 

Надіслати
Поділитися на інших сайтах


23 минуты назад, nikifalex сказал:

вы приведите запрос целиком. В нем несколько поздапросов. Так вот какой-то возвращает больше одной строки.

Какой именно неизвестно. открывайте phpmyadmin и медитируйте до просветления

Warning: mysqli::query(): (21000/1242): Subquery returns more than 1 row in /home/sivtermo/sivtermo.com.ua/test/system/library/db/mysqli.php on line 18
Fatal error: Uncaught exception 'Exception' with message 'Error: Subquery returns more than 1 row<br />Error No: 1242<br />SELECT DISTINCT *, pd.name AS name, p.image, p.noindex AS noindex, m.name AS manufacturer, (SELECT price FROM oc30_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM oc30_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM oc30_product_reward pr WHERE pr.product_id = p.product_id AND pr.customer_group_id = '1') AS reward, (SELECT ss.name FROM oc30_stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss. in /home/sivtermo/sivtermo.com.ua/test/system/library/db/mysqli.php on line 40

 

Это все что выдает при переходе на товар.

 

В phpmyadmin медитирую уже пару дней, просветление не наступает. Решила спросить тут. 

Змінено користувачем lilit2
Надіслати
Поділитися на інших сайтах


9 минут назад, nikifalex сказал:

допустим вот вы работаете кассиром в магните, и зарабатываете например 1000 руб в день.

Иного за 2 дня могли бы заработать 2000 руб.

 

А заплатить кому-то за решение этой проблемы хватило бы 500 руб. Ну еще за 500 вам бы рассказали подробно в чем проблема.

Итого, заказав услугу вы съэкономили бы 1000 руб, что весьма немало.

Плюс вместо двух дней на все это ушел бы час времени, а остальное время вы могли бы посвятить семье, например

 

Это прекрасно. Но как же саморазвитие? Мне можно не решать проблему, а указать направление. 

И, к сожалению, вряд ли проблема решится за 500 руб.  

 

Надіслати
Поділитися на інших сайтах


39 минут назад, lilit2 сказал:

 

Это прекрасно. Но как же саморазвитие? Мне можно не решать проблему, а указать направление. 

И, к сожалению, вряд ли проблема решится за 500 руб.  

 

вам указали направление. более того-оно указано в самой ошибке. у вас где то дубль. ищите в бд где именно в товаре он есть исходя из запросов в ошибке

например начать с таблицы oc_product и пройти все таблицы продукта.

Змінено користувачем Dimasscus
Надіслати
Поділитися на інших сайтах


17 минут назад, Dimasscus сказал:

вам указали направление. более того-оно указано в самой ошибке. у вас где то дубль. ищите в бд где именно в товаре он есть исходя из запросов в ошибке

например начать с таблицы oc_product и пройти все таблицы продукта.

 

В том то и проблема, что я сначала все просмотрела, а потом уже начала писать на форум. И ни в таблицах категорий , ни в таблицах oc_product я дублей не нашла. На всякий случай проверила и производителей, но нет. Нет там дублей. Вот и спрашиваю, может есть  какая то таблица связанная с ними, а я ее не просмотрела. Или может это из-за сео генератора такая проблема или может мультиязычность дает такой эффект. 

 

В общем если Вы говорите дубль, значит пойду искать снова. Спасибо. 

Надіслати
Поділитися на інших сайтах


18 минут назад, lilit2 сказал:

 

В том то и проблема, что я сначала все просмотрела, а потом уже начала писать на форум. И ни в таблицах категорий , ни в таблицах oc_product я дублей не нашла. На всякий случай проверила и производителей, но нет. Нет там дублей. Вот и спрашиваю, может есть  какая то таблица связанная с ними, а я ее не просмотрела. Или может это из-за сео генератора такая проблема или может мультиязычность дает такой эффект. 

 

В общем если Вы говорите дубль, значит пойду искать снова. Спасибо. 

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

Скиньте дамп бд. Я попробую помочь

Змінено користувачем Dimasscus
Надіслати
Поділитися на інших сайтах


1 час назад, Dimasscus сказал:

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

Скиньте дамп бд. Я попробую помочь

Глазами построчно. Я еще совсем новичок.

Надіслати
Поділитися на інших сайтах


1 час назад, lilit2 сказал:

Глазами построчно. Я еще совсем новичок.

Запросом надо. У вас могут бьіть дубли в групах, продуктах, производителях. Без бд помочь не смогу

Надіслати
Поділитися на інших сайтах


В 28.03.2021 в 16:24, Dimasscus сказал:

Запросом надо. У вас могут бьіть дубли в групах, продуктах, производителях. Без бд помочь не смогу

 

Искала запросами по базе -  не нашла.

 

Психонула, все снесла, залила бекап атрибутов, категорий, опций и товаров из чистой базы, повторно модулем миграции перенесла и заработало. 

Ошибок больше нет.

 

Спасибо.

 

 

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.