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

rassamaha

Новачок
  
  • Публікації

    4
  • З нами

  • Відвідування

Відвідувачі профілю

658 переглядів профілю
  • Olf

  • Point

  • Badin

rassamaha's Achievements

Newbie

Newbie (1/14)

  • First Post
  • Conversation Starter
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

2

Репутація

  1. В общем нашел решение, в файле: http/system/library/db/mysqli.php Нужно прописать строчку, выделенную жирным. public function __construct($hostname, $username, $password, $database, $port = '3306') { $this->link = new \mysqli($hostname, $username, $password, $database, $port); if ($this->link->connect_error) { trigger_error('Error: Could not make a database link (' . $this->link->connect_errno . ') ' . $this->link->connect_error); exit(); } $this->link->set_charset("utf8"); $this->link->query("SET SQL_MODE = ''"); $this->link->query("SET SQL_BIG_SELECTS=1"); }
  2. Т.е. я понимаю, что дело в SQL-запросе, который возвращает слишком большое количество параметров, и что это связано с большим количеством товаров в базе. Но мне в принципе не понятно, что это за запрос, который выполняется при каждом обновлении страницы в админке, т.е. если я даже не захожу в раздел товаров, а захожу в раздел модулей или скажем в настройки, эта ошибка есть в шапке. И в каком месте правильно прописать "SET SQL_BIG_SELECTS=1". А вот на странице с товарами этот запрос выполняется дважды, есть две ошибки, как написано ниже:
  3. Написано, но я не поинмаю, куда это прописать. Попробовал в файле: /http/system/library/db/mysqli.php добавить строчку, выделенную жирным, но результатов это не дало: public function __construct($hostname, $username, $password, $database, $port = '3306') { if (!$this->link = mysql_connect($hostname . ':' . $port, $username, $password)) { trigger_error('Error: Could not make a database link using ' . $username . '@' . $hostname); exit(); } if (!mysql_select_db($database, $this->link)) { trigger_error('Error: Could not connect to database ' . $database); exit(); } mysql_query("SET NAMES 'utf8'", $this->link); mysql_query("SET CHARACTER SET utf8", $this->link); mysql_query("SET CHARACTER_SET_CONNECTION=utf8", $this->link); mysql_query("SET SQL_MODE = ''", $this->link); mysql_query("SET SQL_BIG_SELECTS=1", $this->link); }
  4. Я не уверен, связано ли это с движком, с большим количеством товаров или со сторонним модулем, которым я производил загрузку товаром, подскажите пожалуйста, в какую сторону копать. Или может быть проблема с настройками SQL? В админке, сверху, на всех страницах пишет вот такое сообщение: Notice: Error: The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET MAX_JOIN_SIZE=# if the SELECT is okay Error No: 1104 SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id) WHERE pd.language_id = '1' AND p.quantity = '0' in /home/aik-snab/aik-snab.rf/http/system/library/db/mysqli.php on line 41Notice: Trying to get property of non-object in /home/aik-snab/aik-snab.rf/http/admin/model/catalog/product.php on line 693 Когда захожу в админку, в раздел товаров, то показывает только первых 10ть штук, остальные не видны. Если просто работаю с интернет-магазином, то ошибок нет, поиск работает, даже по большим запросам. Количество товаров действительно большое - будет около 200 000. Проблема проявилась не сразу, а когда загрузил их большое количество. Заранее спасибо.
×
×
  • Створити...

Important Information

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