【发布时间】:2011-01-31 18:44:03
【问题描述】:
我有以下查询尝试在 CodeIgniter 中进行更新:
$sql = "UPDATE fanout.manual_data
SET call_leader_id = ?
WHERE id IN (?)";
$q = $this->db->query($sql, array($leaderID, implode(", ", $empIDs)));
内爆是在我的数组中创建一个包含所有 ID 的字符串。但是,这导致查询看起来像:
UPDATE fanout.manual_data SET call_leader_id = '55993' WHERE id IN ('57232, 0097726, 0076034');
当我需要的是:
UPDATE fanout.manual_data SET call_leader_id = '55993' WHERE id IN (57232, 0097726, 0076034);
唯一的区别是 ID 字符串周围的单引号。这是我需要自己做的事情并跳过 CI 的查询绑定 (http://codeigniter.com/user_guide/database/queries.html) 还是 CI 可以处理而我只是错过了一步?
谢谢。
【问题讨论】:
-
嘿@Ryan,你能告诉我你是如何发现变量在它周围加上单引号的吗?是否有一个 php 函数可以输出运行的 ACTUAL 查询?我有一个类似的问题,如果我能够知道单引号放在我的 var 周围,那将对我有很大帮助。
标签: mysql codeigniter