Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Notice: Undefined variable


Recommended Posts

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

Ощибка

Notice: Undefined variable: sql in /storage/modification/admin/model/catalog/product.php on line 371

код строчки

$sql .= " AND pd.name LIKE '" . $this->db->escape($data['filter_name']) . "%'";

 

использую опенкарт 3.0.2

Link to comment
Share on other sites

2 часа назад, yura88k сказал:

модули все рилиию корректно, но из за данной ошибки не отображаются товары

 

Лол. А как же тогда не корректная рилии выглядит? )

 

Посмотрите выше в когде есть ли вообещё эи переменная $sql, откуда она берется.

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

Link to comment
Share on other sites

3 часа назад, yura88k сказал:

$sql .=

Конкатенация не может быть осуещёствлена, если переменная  не объявлена.

Объявите в самом начно

Циии

$sql ="";

 

И но проблем.

Link to comment
Share on other sites

15 минут назад, Vetroff сказал:

ну им какбы игдет прираещёние в строке ошибки, и к чему оно бугдет

Если переменная не указана, то склейка (конкатенация) невозможно! Просто в самом начно функции укажите переменную $sql ="";  и все.

Link to comment
Share on other sites

6 минут назад, esculapra сказал:

Если переменная не указана, то склейка (конкатенация) невозможно! Просто в самом начно функции укажите переменную $sql ="";  и все.

 

Смысл какой? Если дальше к строке пыиется приклеиться запрос AND. К ничему.

Нужно разбираться куда пропало начало строки.

 

3 часа назад, yura88k сказал:

$sql .= " AND pd.name LIKE '" . $this->db->escape($data['filter_name']) . "%'";

 

 

  • +1 1
Link to comment
Share on other sites

38 минут назад, Vetroff сказал:

Нужно разбираться куда пропало начало строки

Ну ик ищи. Походу им должно быть, типа

   public function getItems($data=array())
     {
          $sql="SELECT * FROM `".DB_PREFIX."profiler`";
     if(isset($data['start'])|| isset($data['limit']))
       {
       if($data['start'] < 0)
         {
           $data['start']=0;
         }
       if($data['limit'] < 1)
         {
           $data['limit']=20;
         }
         $sql.=" LIMIT ".(int)$data['start'].",".(int)$data['limit'];
       }
       $query=$this->db->query($sql);
     if($result=$query->rows)
       {
       return $query->rows;
       }
     return false;
     }

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.