這個問題可能有一個簡單的解決方案,但如果我有下面的函數和$ events包含未知數量的整數,我將如何在這樣的查詢中使用$ events變量?codeigniter查詢問題
function remove_events($events)
{
$sql = "delete from events where event_id in $events";
$query = $this->db->query($sql);
}
這個問題可能有一個簡單的解決方案,但如果我有下面的函數和$ events包含未知數量的整數,我將如何在這樣的查詢中使用$ events變量?codeigniter查詢問題
function remove_events($events)
{
$sql = "delete from events where event_id in $events";
$query = $this->db->query($sql);
}
如果$事件是一個單一的值,則必須使用
$sql = "delete from events where event_id = $events";
或者,如果它是一個數組
$sql = "delete from events where event_id in (".implode(',', $events).") ";
謝謝你。我需要逃避我的$ events數組嗎? – Catfish 2011-03-01 22:42:49
希望你在$事件的內容像1 ,2,3 ...。如果沒有問題,否則如果數字之間有空格,請使用此格式。 implode(',',explode(' ',$events));
試試看,讓我知道。
以下sql語法應該可以幫助您解決您的查詢。
刪除FROM事件WHERE event_id IN('2','3');
在上面的例子中(2,3)應該是一個codeigniter數組。
讓活動記錄使工作:
$this->db->where_in('id', $events)->delete('events');
所有值都逃脫自動生產出更安全的查詢。
不起作用。你得到一個錯誤,因爲$ events是一個數組。 – Catfish 2011-03-01 22:39:27
對不起!它說'哪裏'應該說'where_in'。現在編輯! – 2011-03-02 10:51:05
我應該澄清。 $ events是一個整數數量未知的數組。 – Catfish 2011-03-01 22:40:11