这个问题可能有一个简单的解决方案,但如果我有以下函数且$ events包含未知数量的整数,我将如何在这样的查询中使用$ events变量?
function remove_events($events)
{
$sql = "delete from events where event_id in $events";
$query = $this->db->query($sql);
}
答案 0 :(得分:4)
如果$ event是单个值,则必须使用
$sql = "delete from events where event_id = $events";
或者如果是数组
$sql = "delete from events where event_id in (".implode(',', $events).") ";
答案 1 :(得分:1)
以下sql语法可以帮助您解决查询。
删除FROM事件WHERE event_id IN('2','3');
在上面的例子中,(2,3)应该是一个codeigniter数组。
答案 2 :(得分:0)
希望您在$ events中拥有内容,如1,2,3 ....如果没有问题,否则如果数字之间有空格,请使用这种格式。
implode(',',explode(' ',$events));
试一试,让我知道。
答案 3 :(得分:0)
让Active Record完成工作:
$this->db->where_in('id', $events)->delete('events');
所有值都会自动转义,从而产生更安全的查询。