【发布时间】:2016-02-29 03:46:18
【问题描述】:
我正在我的应用程序中创建一个功能,用户可以选择多个数据库项目并一次更改他们所属的部门。我目前在我的 codeigniter 模型中有这个:
function multimove($dept, $jobstring)
{
$sql = "UPDATE Jobs set department = ? where id IN(?)";
$this->db->query($sql, array($jobstring, $dept));
echo $this->db->last_query();
}
该函数接受两个值,即部门编号和所选工作的 ID。 我正在尝试实现这个 SQL 函数:
UPDATE Jobs set department = 3 where id IN(5,6,48);
但是 codeigniter 会生成这个:
UPDATE Jobs set department = '3' where id IN('5,6,48');
它在我的值上加上单引号,它会产生错误。有没有办法解决这个问题?
【问题讨论】:
-
代码不会那么好,但你总是可以做到
"...department = " . $dept . " where id..."。 -
我不使用 codeigniter,但我认为你会为每个值设置一个占位符,然后将
csvs 分开。
标签: php mysql sql codeigniter codeigniter-3