旧查询就像这样
update tbl_order set `pack_id` =0, `pack_down_count`=pack_down_count + '".intval($_POST['item_number'])."',`price`='".$_POST['mc_gross']."', `otime`=Now(), `ptime`=Now(), status='paid', pack_download=pack_download + '".intval($_POST['item_number'])."' where member_id='".$_MYVAR['userid']."'"
我喜欢将其更改为准备好的语句,我使用的是https://github.com/joshcam/PHP-MySQLi-Database-Class
中的一个类用于更新
我将上述查询更改为
$data = array(
'pack_id' =>$_MYVAR['pack_id'],
'pack_apply_count' =>`pack_apply_count` + intval($_POST['item_number']),
'price' =>$_POST['mc_gross'],
'otime' =>date('Y-m-d H:i:s'),
'ptime' =>date('Y-m-d H:i:s'),
'status' =>'paid',
'pack_apply' =>`pack_apply` + intval($_POST['item_number'])
);
$db->where('member_id',$_MYVAR['userid']);
$db->update("tbl_order",$data);
也尝试了没有反叛的pack_apply_count和pack_apply,但没有更新我的表
$data = array(
'pack_id' =>$_MYVAR['pack_id'],
'pack_apply_count' =>pack_apply_count + intval($_POST['item_number']),
'price' =>$_POST['mc_gross'],
'otime' =>date('Y-m-d H:i:s'),
'ptime' =>date('Y-m-d H:i:s'),
'status' =>'paid',
'pack_apply' =>pack_apply + intval($_POST['item_number'])
);
$db->where('member_id',$_MYVAR['userid']);
$db->update("tbl_order",$data);
请告诉您更新表格的正确方法
答案 0 :(得分:1)
您提供的链接将为您提供所需的信息,请参阅更新查询部分。
您似乎可以使用$db->inc($_POST['item_number'])
如示例所示:
$data = Array (
'firstName' => 'Bobby',
'lastName' => 'Tables',
'editCount' => $db->inc(2),
// editCount = editCount + 2;
'active' => $db->not()
// active = !active;
);