Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

rassamaha

Новичок
  
  • Публикаций

    4
  • Зарегистрирован

  • Посещение

Посетители профиля

794 просмотра профиля
  • Olf

  • Point

  • Badin

Достижения rassamaha

Newbie

Newbie (1/14)

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

Последние медали

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. Проблема проявилась не сразу, а когда загрузил их большое количество. Заранее спасибо.
Гость
×
  • Создать...

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

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