codeigniter查询问题

时间:2011-03-01 04:51:04

标签: php mysql codeigniter

这个问题可能有一个简单的解决方案,但如果我有以下函数且$ events包含未知数量的整数,我将如何在这样的查询中使用$ events变量?

function remove_events($events)
{
    $sql = "delete from events where event_id in $events";
    $query = $this->db->query($sql);
}

4 个答案:

答案 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');

所有值都会自动转义,从而产生更安全的查询。