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

Помогите с ошибкой Undefined index


Recommended Posts

Всем привет!

опенкарт 2.1

Помогите пж исправить проблему. 

Ругается на этот код

 

public function getPosBarcode($product_id){
$sql = "SELECT barcode FROM `" . DB_PREFIX . "pos_barcode` WHERE product_id = ".$product_id;
$query = $this->db->query($sql)->row;


------- return $query['barcode']; ----- ругается на нее
}

 

Undefined index: barcode in httpdocs/admin/model/pos/products.php on line 89
 

Змінено користувачем maiki
  • +1 1
Надіслати
Поділитися на інших сайтах

public function getPosBarcode($product_id){
$sql = "SELECT barcode FROM `" . DB_PREFIX . "pos_barcode` WHERE product_id = ".$product_id;
$query = $this->db->query($sql)->row;

echo '<pre>'; print_r($query); die('<pre>');
// return $query['barcode']; 
}

 

  • +1 1
Надіслати
Поділитися на інших сайтах

значит для этого товара нет результата выборки. Добавить проверку
return isset($query['barcode']) ? $query['barcode'] : false;

  • +1 1
Надіслати
Поділитися на інших сайтах


  В 12.08.2019 в 08:44, thentru сказав:

значит для этого товара нет результата выборки. Добавить проверку
return isset($query['barcode']) ? $query['barcode'] : false;

Expand  

ну это уже потом после проверки результата))))

Надіслати
Поділитися на інших сайтах

  В 12.08.2019 в 08:44, thentru сказав:

значит для этого товара нет результата выборки. Добавить проверку
return isset($query['barcode']) ? $query['barcode'] : false;

Expand  

Гений!

Я как раз empty читал. 

Ваш код сработал ! Громадное Вам спасибо ! 

  В 12.08.2019 в 08:39, legioner26 сказав:

Надо смотреть получает значение или нет в запросе

Expand  

Спасибо за помощь!

Надіслати
Поділитися на інших сайтах

  В 12.08.2019 в 08:56, legioner26 сказав:

ну это уже потом после проверки результата))))

Expand  

public function getPosBarcode($product_id){
$sql = "SELECT barcode FROM `" . DB_PREFIX . "pos_barcode` WHERE product_id = ".$product_id;
$query = $this->db->query($sql)->row;


return isset($query['barcode']) ? $query['barcode'] : false;
}

 

Так правильно ?

Надіслати
Поділитися на інших сайтах

  В 12.08.2019 в 09:01, maiki сказав:

Гений!

Я как раз empty читал. 

Ваш код сработал ! Громадное Вам спасибо ! 

Спасибо за помощь!

Expand  

empty это проверка на пустое значение, а isset это проверка на существование

Надіслати
Поділитися на інших сайтах

  В 12.08.2019 в 09:02, maiki сказав:

public function getPosBarcode($product_id){
$sql = "SELECT barcode FROM `" . DB_PREFIX . "pos_barcode` WHERE product_id = ".$product_id;
$query = $this->db->query($sql)->row;


return isset($query['barcode']) ? $query['barcode'] : false;
}

 

Так правильно ?

Expand  

Я не про это ))). Я клоню к тому что проверять результат через print_r(); для теста метода.

Надіслати
Поділитися на інших сайтах

  В 12.08.2019 в 08:56, legioner26 сказав:

ну это уже потом после проверки результата))))

Expand  

а что там проверять? ошибки, что такой колонки в таблице не существует - нет
значит для этого товара записи просто нет

Надіслати
Поділитися на інших сайтах


  В 12.08.2019 в 09:06, thentru сказав:

а что там проверять? ошибки, что такой колонки в таблице не существует - нет
значит для этого товара записи просто нет

Expand  

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

Надіслати
Поділитися на інших сайтах

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

Надіслати
Поділитися на інших сайтах

  В 12.08.2019 в 09:06, thentru сказав:

а что там проверять? ошибки, что такой колонки в таблице не существует - нет
значит для этого товара записи просто нет

Expand  

 

 

Там да генерация идет не автоматом а в ручную.

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

Ваш код отлично сработал, 

Надіслати
Поділитися на інших сайтах

  В 12.08.2019 в 09:09, legioner26 сказав:

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

Expand  

Спасибо!  Учту обязательно!

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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