Codeigniter更新批量查询问题

时间:2015-03-19 10:30:52

标签: 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_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')

1 个答案:

答案 0 :(得分:0)

默认情况下,codeigniter会尝试保护您的查询。当使用select语句时,你可以像这样覆盖它

$this->db->select("somefield",$value,FALSE);

尝试在update_batch结束时输入false,值得一试。