天哪,这太烦人了。我有一个带有收件箱、发件箱和对话视图的消息系统。对话视图显示与特定用户发送和接收的消息,并且由于我只使用一个表来处理消息(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 );
我在我认为可行的执行中尝试了 array($mid_array, $mid_array) 。还有其他几个我无法工作的有点愚蠢的解决方案。我可能在这里错过了一些简单的功能,但我尝试过的功能都没有,因此我的问题。需要帮忙!!提前致谢。