scriptl

Ошибка mysql при изменени товара

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

scriptl    1

Эта ошибка возникает только при изменении первого товара:

Error: Subquery returns more than 1 row

Error No: 1242

SELECT DISTINCT *, (SELECT keyword FROM oc_url_alias WHERE query = 'product_id=1') AS keyword FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) WHERE p.product_id = '1' AND pd.language_id = '1'

порылся в /admin/model/catalog/product.php там на 270 строке это никто вроде не менял, достал из бекапа не помогло. Как исправить?

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


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

У меня такая же проблема. У меня версия 0,2,2 редактировал файл,admin/model/catalog/product.php строка 80 и строка 264 после чего изменить товар не могу, выдает ошибку.

Warning: mysql_query() [function.mysql-query]: Unable to save result set in /home/virtwww/w_salon-korole-com-ua_bd9b18e2/http/system/database/mysql.php on line 21Error: Subquery returns more than 1 row

Error No: 1242

SELECT DISTINCT *, (SELECT keyword FROM oc_url_alias WHERE query = 'product_id=273') AS keyword FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) WHERE p.product_id = '273' AND pd.language_id = '1'

Поставил обратно тот что было и проблема таже. Подскажите что и где нужно отредактировать или поменять? Или дайте ссылку на пост где эта проблема обсуждалась.

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


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

Значит у вас в таблице oc_url_alias больше одной записи, в которых поле query = 'product_id=273'.

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

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


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

Извиниите за бональный вопрос, я новичок в этом деле. подскажите где редактировать эту таблицу в каком файле она находится? Спаасибо

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


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

Значит у вас в таблице oc_url_alias больше одной записи, в которых поле query = 'product_id=273'.

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

В базе все тоже самое что и было, ничего не изменено и не добавлено. Я скачал с сервера и сравнил с исходником ВСЕ ТОЖЕ САМОЕ!!! Может я что то не то делаю? Объяснить пионеру НА ПАЛЬЦАХ, ТКНИТЕ МЕНЯ НОСОМ где и что я должен поменять..

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


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

Она не в файле, она в базе данных. Установите phpmyadmin и через него всё сделаете, или посмотрите в услугах хостера - нет ли у него предоставления своего веб-интерфейса к вашей базе данных.

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


Ссылка на сообщение
Поделиться на другие сайты
Sammy95    67
koroleva: база не в файле, поэтому вы никак не могли её скачать, а тем более сравнить с каким-то исходником.

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


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

Вы имеете виду база это Backup ? Я открыл его через Нотепад, И что там удалить не понимаю в 21 строке данные моего клиента которые внесены им же при регестрации А ошибку пишет в 21 строке, но удалив ее я не думаю что то изменит.

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


Ссылка на сообщение
Поделиться на другие сайты
Sammy95    67
koroleva: В бэкапе найдите все строки с подстрокой: 'product_id=273' и удалите все такие строки кроме одной (сами решайте какую нужно оставить).

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


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

Пока спасибо, попробую отпишу

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


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

Нет ничего не происходит все тоже самое Я удалил строки но всеравно пишет ошибку

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


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

РЕШЕНО!!!! Все правильно нужно было удалить лишнюю строку. Но не работало потому что у меня она была не одна, а несколько ))) Обычно я так понял все что "лишнее пишет почти в самом низу, и они все подряд стоят так что искать не нужно долго. Удалил все лишние и все заработало! Спасибо огромное за помощь.

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


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

РЕШЕНО!!!! Все правильно нужно было удалить лишнюю строку. Но не работало потому что у меня она была не одна, а несколько ))) Обычно я так понял все что "лишнее пишет почти в самом низу, и они все подряд стоят так что искать не нужно долго. Удалил все лишние и все заработало! Спасибо огромное за помощь.

Привет, у меня такая же проблема, только не могу изменить ни товары, ни статьи, ни категории.. нихрена в общем не изменяется.. связано наверное с недавним запуском автогенерации урлов в seopask pro. отключение VqMod(а) не помогает. подскажи где ты и что правил?

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


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

Привет, у меня такая же проблема, только не могу изменить ни товары, ни статьи, ни категории.. нихрена в общем не изменяется.. связано наверное с недавним запуском автогенерации урлов в seopask pro. отключение VqMod(а) не помогает. подскажи где ты и что правил?

 

Привет, у меня такая же проблема, только не могу изменить ни товары, ни статьи, ни категории.. нихрена в общем не изменяется.. связано наверное с недавним запуском автогенерации урлов в seopask pro. отключение VqMod(а) не помогает. подскажи где ты и что правил?

 

Сталкивался с такой же проблемой. И связана она была именно с SEO Pack Pro. Дело в том, что он делает автогенерацию seo_URL на всех языках, установленных в системе.

 

Вот пример того, как это выглядит в админке:

hcdm7dtbavl8.jpg

 

...а так это наблюдается в бэкапе базы данных:

 

9di9zt7hti7f.jpg

 

На втором рисунке четко просматривается product_id с тремя сгенерированными URL_адресами. 1, 2 и 3 в конце каждой строки - это ID языка, установленного в OpenCart.

 

Для решения данной проблемы существует два варианта.

 

  • определить язык, который нам больше нужен и который мы будем использовать как основной. Посмотреть в админке, под каким ID висит наш основной язык и учесть именно его. Строки с остальными языками удалить.
  • Второй вариант немного из другой песочницы. Мы можем оставить использование URL_адресов для всех языков. Для этого достаточно закинуть ML_seo_keywords.xml в папку vqmod\xml.

 

Тема хоть и старая, но надеюсь, что кому-то это поможет.

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


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

Практика показала, что, после удаления SEO Pack Pro, лучше использовать вариант №1

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


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

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

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

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

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

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

Войти

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

Войти


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

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