Обнаружено нечисловое значение mysqli

Обнаружено нечисловое значение

в строке номер 51 означает эту строку
это показывает мне ошибку нечисловое значение

->update('purchase',array('item_qty'=>'item_qty'+$item_qty));

function upd_sales($upd_sales)
{
$item_name=$upd_sales['item_name'];
$item_qty=$upd_sales['item_qty'];
$this->db
->where('item_code', $item_name)
->update('purchase',array('item_qty'=>'item_qty'+$item_qty));
}

-1

Решение

Попробуйте таким образом, вам нужно написать путь в количестве элементов обновления MySQL

function upd_sales($upd_sales)
{
$item_name=$upd_sales['item_name'];
$item_qty=$upd_sales['item_qty'];
$this->db->where('item_code', $item_name)
->set('item_qty', 'item_qty+'.$item_qty, FALSE);
->update('purchase');
}
1

Другие решения

function upd_sales($upd_sales)
{
$item_name=$upd_sales['item_name'];
$item_qty=$upd_sales['item_qty'];
$this->db
->where('item_code', $item_name)
->update('purchase',array('item_qty'=>'item_qty'+$item_qty)); //'item_qty is string where as $item_qty in number
}

Это потому, что вы пытаетесь получить сумму строки и числа.

Измените свой код на

function upd_sales($upd_sales)
{
$item_name=$upd_sales['item_name'];
$item_qty=$upd_sales['item_qty'];
$this->db
->where('item_code', $item_name)
->update('purchase',array('item_qty'=> $item_qty));
}
0

Вы делаете строку + число вместо математической операции

именно на этой линии ->update('purchase',array('item_qty'=>'item_qty'+$item_qty));

    function upd_sales($upd_sales)
{
$item_name=$upd_sales['item_name'];
$item_qty=$upd_sales['item_qty'];
$this->db


->where('item_code', $item_name)
->update('purchase',array('item_qty'=>$item_qty));
}
0

Это не JavaScript

array('item_qty'=>'item_qty'+$item_qty)

Если вы пытаетесь согласиться с + то есть. В противном случае нет смысла добавлять строки. Может быть, вы хотели это вместо

array('item_qty'=>'item_qty'.$item_qty)

С точкой .

Или, может быть, вам просто нужно его значение.

array('item_qty'=>$item_qty)

Что более вероятно, потому что PHP не заботится о типе переменной, но база данных может и ваша ошибка говорит NON-Numeric поэтому concat всегда выдаст вам строку, которая не является числовой по своему типу.

0