神様、これはとても迷惑です。受信トレイ、送信トレイ、および会話ビューを備えたメッセージ システムがあります。会話ビューには、特定のユーザーとの送信メッセージと受信メッセージの両方が表示されます。メッセージには 1 つのテーブルしか使用していないため (sender_status/receiver_status を使用して、メッセージに関与するユーザーのうち、削除したり、読んだりしたユーザーを制御します)。
リストの横にチェックボックスがあり、メッセージごとに 1 つあり、受信トレイと送信トレイの両方のクエリで正常に機能します。
<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) を試しました。また、私がうまくいかない他のいくつかのややばかげた解決策。ここでいくつかの簡単な機能が欠けている可能性がありますが、私が試したもののどれも機能しなかったため、私の質問です。助けが必要!!前もって感謝します。