COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!

После установки шаблона Kitchen ошибка Coolfilter


Recommended Posts

Добрый день! после установки шаблона Kithen не работает coolfilter пишет ошибку в шапке админки:


 


Warning: mysql_query(): Access denied for user ''@'localhost' (using password: NO) in D:\WebServers\OpenServer\domains\Мой Сайт\admin\model\catalog\coolfilter.php on line 219Warning: mysql_query(): A link to the server could not be established in D:\WebServers\OpenServer\domains\Мой Сайт\admin\model\catalog\coolfilter.php on line 219Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in D:\WebServers\OpenServer\domains\Мой Сайт\admin\model\catalog\coolfilter.php on line 219



public function showTable($table) {
if (mysql_num_rows(mysql_query("SHOW TABLES LIKE '" . DB_PREFIX . $table . "'"))) {
return TRUE;
} else {
return FALSE;
}
}

на сайте вообще пропал. Но это пол беды))


В настройках модуля комбослайдшой вообще пишет что нет прав на редактирование...


так же посыпались ошибки в журналах ошибок 



лог ошибок:
2014-11-05 15:53:34 - PHP Warning: mysql_query(): Access denied for user ''@'localhost' (using password: NO) in D:\WebServers\OpenServer\domains\enot.md\admin\model\catalog\coolfilter.php on line 219
2014-11-05 15:53:34 - PHP Warning: mysql_query(): A link to the server could not be established in D:\WebServers\OpenServer\domains\enot.md\admin\model\catalog\coolfilter.php on line 219
2014-11-05 15:53:34 - PHP Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in D:\WebServers\OpenServer\domains\enot.md\admin\model\catalog\coolfilter.php on line 219



 




Надеюсь на вашу помощь


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

Шаблона ? это же быстрый старт

давайте подробнее как вы его устанавливали ?

стандартно по инструкции,  распаковал, следовал инструкциям. Во время настройки и столкнулся с проблемой Комбослайдера (У Вас нет прав для доступа к этой странице. Если она Вам нужна, обратитесь к администратору.)

Далее столкнулся с проблемой фильтра.

редактировал только css-файлы

 

У меня это только второй проэкт на ocshop. надеюсь проблема банальна

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

тоесть вы установили все с нуля я правильно понимаю на чистую базу и тд и тп ?

права на доступ к модулям задаются в админке система - пользователи - группы пользователей

остальное это скорее всего кэш либо что то не так поставили либо настройки хостинга

 

Да, Вы все правильно поняли, с банером помогли (не стояли права на редактирование), за что огромное спасибо! Хотя не получается изменить надпись на банере но с этим думаю разберусь))

 

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

вот собственно и сама ошибка

Warning: mysql_query(): Access denied for user ''@'localhost' (using password: NO) in D:\WebServers\OpenServer\domains\Мой Сайт\admin\model\catalog\coolfilter.php on line 219Warning: mysql_query(): A link to the server could not be established in D:\WebServers\OpenServer\domains\Мой Сайт\admin\model\catalog\coolfilter.php on line 219Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in D:\WebServers\OpenServer\domains\Мой Сайт\admin\model\catalog\coolfilter.php on line 219

Выше  я уже писал кусок кода на торый ругается система

Могу я рассчитывать на вашу помощь?

Изменено пользователем NikolaevAndrey
Ссылка на комментарий
Поделиться на других сайтах

на локалке я вам ничем не помогу


база у вас с префиксом oc_ ?


если нет и говорите что ничего не делали кроме стилей то переставьте все заново и сделайте базе префикс oc_


еще версию пхп поднимите до 5.3


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

на локалке я вам ничем не помогу

база у вас с префиксом oc_ ?

если нет и говорите что ничего не делали кроме стилей то переставьте все заново и сделайте базе префикс oc_

еще версию пхп поднимите до 5.3

 

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

 

зы файлик скачивал с форума т.е. не левый, это так на всякий случай...так же пробовал менять версии php c 5.2 lj 5.5

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

  • 2 weeks later...

Про ошибку

Warning: mysql_query() [function.mysql-query]: Access denied for user '...'@'localhost' (using password: NO) in /admin/model/catalog/coolfilter.php on line 219 Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in/admin/model/catalog/coolfilter.php on line 219 Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given /admin/model/catalog/coolfilter.php on line 219 Warning: Cannot modify header information - headers already sent by (output started at admin/index.php:85) in vqmod/vqcache/vq2-system_engine_controller.php on line 28 Warning: Cannot modify header information - headers already sent by (output started at/admin/index.php:85) in /vqmod/vqcache/vq2-system_engine_controller.php on line 29

Ищем 219 строку в файле /admin/model/catalog/coolfilter.php

Меняем всю функцию на:

public function showTable($table) {	$query = $this->db->query("SHOW TABLES LIKE '" . DB_PREFIX . $table . "'");	if ($query->num_rows) {      return TRUE;    } else {      return FALSE;	  }	}
После этого ошибки исчезают и модуль работает как надо.

Возможно, дело в конфликте версий MySQL, MySQLi и PHP.

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

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


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

Не пишите вредных советов!

Лучше бы почитали мануал по mysql вот здесь. Узнали бы для себя что то новенькое, про пользователей mysql, привилегии и безопасность.

Вот скажите честно, очень сложно загуглить мануал по команде ?

Это наверное мне предназначено?

Тогдла не понял совершенно. Код модуля не работал по какой-то причине. mysql функция не могла обратиться к базе. Она, похоже, вообще от не существующего пользователя это пыталась сделать.

Я заменил неработающую mysql функцию на встроенную в opencart. Всё заработало.

Насколько я понял, смысл public function showTable($table) - просто проверить есть ли подключение к БД.

Не понимаю, почему сабжевая ошибка возникает только у небольшого числа пользователей, наверное дело в версии mysql или настройках базы, да и не важно это. Главное рещение получено.

Так в чем совет вредный?

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

Вот вы так и не прочитали, а опять вопросы задаете. Функция SHOW TABLES - проверяет наличие таблицы в базе.

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

 

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

$this->db->query

из соседней функции.

 

А теперь вернемся к коду.

Вот оригинал:

public function showTable($table) {    if (mysql_num_rows(mysql_query("SHOW TABLES LIKE '" . DB_PREFIX . $table . "'"))) {      return TRUE;    } else {      return FALSE;    }  }

Вот моя адаптация:

public function showTable($table) {	$query = $this->db->query("SHOW TABLES LIKE '" . DB_PREFIX . $table . "'");	if ($query->num_rows) {      return TRUE;    } else {      return FALSE;	  }	}

Что видим? Зменил функции MySQL на реализованные в движке opencart.

 

Функцию SHOW TABLES, о которой вы мне советовали почитать, не трогал! Она работает как и было задумано автором. Только вот используется уже существующее подключение к БД, а не mysql_query, которое, возможно, не было проинициализированно ранее, и вызывало ошибку.

 

В итоге, результат, возвращаемый showTable($table) не изменится. Если подключение не состоялось, вернется false в любом случае. Функционал модуля полностью сохранен.

 

Поправьте, если ошибся.

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

Парни, а можно ли фильтрацию по атрибутам присваивать к отдельной категории?


Например у меня у каждой категории кукол своя отдельная серия, а при выборе категории показываются все серии(со всех кукол)...


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

Парни, а можно ли фильтрацию по атрибутам присваивать к отдельной категории?

Например у меня у каждой категории кукол своя отдельная серия, а при выборе категории показываются все серии(со всех кукол)...

Купец)) нормальный прикол

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

то есть название атрибута для каждой категории разные делать или группы атрибутов? Или группы фильтров создавать отдельные?


Не совсем понятно как сделать "атрибуты отдельные"


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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу