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

Помогите с ошибкой 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
Надіслати
Поділитися на інших сайтах


Только что, thentru сказал:

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

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

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

10 минут назад, thentru сказал:

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

Гений!

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

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

22 минуты назад, legioner26 сказал:

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

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

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

5 минут назад, legioner26 сказал:

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

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;
}

 

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

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

Только что, maiki сказал:

Гений!

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

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

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

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

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

Только что, 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;
}

 

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

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

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

8 минут назад, legioner26 сказал:

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

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

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


Только что, thentru сказал:

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

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

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

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

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

3 минуты назад, thentru сказал:

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

 

 

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

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

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

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

2 минуты назад, legioner26 сказал:

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

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

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

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

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

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

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

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

Вхід

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

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

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

Important Information

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