Php Codeigniter更新批查询问题
我试图直接按列扣除数量,但它在查询中添加了单引号 有谁知道解决办法吗Php Codeigniter更新批查询问题,php,mysql,codeigniter,Php,Mysql,Codeigniter,我试图直接按列扣除数量,但它在查询中添加了单引号 有谁知道解决办法吗 Array ( [0] => Array ( [qnty_hold] => qnty_hold + 1 [qnty] => qnty - 1 [sku] => LN_STEEL_N3_BLK_M ) ) //Query Set $this->db->_protect_ident
Array
(
[0] => Array
(
[qnty_hold] => qnty_hold + 1
[qnty] => qnty - 1
[sku] => LN_STEEL_N3_BLK_M
)
)
//Query Set
$this->db->_protect_identifiers=false;
$this->db->update_batch('table', $batchUpdateProductQtyData, 'sku');
//Query output
UPDATE table SET qnty_hold = CASE WHEN sku = 'LN_STEEL_N3_BLK_M' THEN 'qnty_hold + 1' ELSE qnty_hold END, qnty = CASE WHEN sku = 'LN_STEEL_N3_BLK_M' THEN 'qnty - 1' ELSE qnty END WHERE sku IN ('LN_STEEL_N3_BLK_M')
默认情况下,codeigniter将尝试保护您的查询。当使用select语句时,可以像这样覆盖它
$this->db->select("somefield",$value,FALSE);
尝试在更新批处理的末尾添加false,这值得一试