上帝這是如此討厭。我有一個收件箱,發件箱和會話視圖的消息系統。會話視圖顯示了與特定用戶發送和接收的消息,並且由於我只使用一個表格作爲消息(sender_status/receiver_status來控制消息中涉及哪個用戶刪除了它,讀取它等)。準備語句中的「加倍」數組以填充重複的佔位符
我有旁的複選框我的名單,每一個消息,它工作正常,在我的查詢都爲收件箱和發件箱:
<input type="checkbox" name="message_delete[]" value="<?= $message['mid']; ?>"/>
我需要將messageupdate應用到正確的狀態,當我嘗試在刪除對話視圖: 普通查詢即收件箱工作正常:
$questionmarks = str_repeat("?,", count($mid_array) - 1) . "?";
$st = $db->prepare("UPDATE messages SET sender_status = 'DELETED' WHERE mid IN ($questionmarks)");
$st->execute($mid_array);
對話查詢,不工作:在執行我本以爲這工作
$st = $db->prepare("UPDATE messages SET (receiver_status = 'DELETED' WHERE mid IN ($questionmarks) AND to_user = '{$user_id}'), (sender_status = 'DELETED' WHERE mid IN ($questionmarks) AND from_user = '{$user_id}')");
$st->execute(WHAT TO PUT HERE);
我已經試過陣列($ mid_array,$ mid_array)。還有其他幾個有點愚蠢的解決方案,我無法工作。我可能在這裏錯過了一些簡單的功能,但沒有一個我曾經嘗試過的,所以我的問題。需要幫忙!!提前致謝。
你的第二個查詢是完全無效的。你不能有多個這樣的'where'子句。 – 2013-02-21 15:22:31