遇到非数值
第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));
}
答案 0 :(得分: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总是会给您一个类型非数字的字符串。
答案 1 :(得分: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));
}
答案 2 :(得分:0)
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));
}
答案 3 :(得分:0)
尝试这种方式,您需要在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');
}
答案 4 :(得分:0)
case $ competitor1://竞争对手1获胜 $ result = $ resultwin1;
$won1 = get_post_meta($competitor1, 'won', true);
update_post_meta($competitor1, 'won', $won1 + 1);
wps_update_history ( $competitor1, 'won', '', $lastIP );
update_post_meta($competitor1, 'lasttimestampbattle', current_time( "timestamp" ) );
$lost2 = get_post_meta($competitor2, 'lost', true);
update_post_meta($competitor2, 'lost', $lost2 + 1);
wps_update_history ( $competitor2, 'lost', '', $lastIP );
if ($haswon != "") {
// get actual post title
$postdata = get_post($competitor1);
if ( strlen ( $postdata->post_title ) > 0 )
$result = $postdata->post_title . " " . $haswon;
}
break;