gpt4 book ai didi

php - 如何删除成员(member)A在聊天中接收和发送的消息而不删除成员(member)B帐户中的消息

转载 作者:行者123 更新时间:2023-11-29 07:42:34 27 4
gpt4 key购买 nike

我有一个表,用于存储 2 个成员(成员 A 和成员 B)之间的聊天信息。现在,当成员 A 删除他的消息时,我会抛出这样的 sql 请求

$deleting = mysqli_query($connection, "DELETE FROM `mychattable` WHERE (`from`='$id_of_member_a' AND `to`='$id_of_member_b') OR (`from`='$id_of_member_b' AND `to`='$id_of_member_a') ") or die(mysqli_error($connection));

当我这样做时,问题是它会从成员(member) A 和成员(member) B 的帐户中删除消息。

我也尝试过

$deleting = mysqli_query($connection, "DELETE FROM `mychattable` WHERE `from`='$id_of_member_b' AND `to`='$id_of_member_a' ") or die(mysqli_error($connection));

但是当我这样做时,它会从数据库中删除成员 A 的消息,因此成员 B 不再有权访问它

如何删除成员(member)A在聊天中接收和发送的消息而不删除成员(member)B帐户中的消息?

这是我的表的结构

CREATE TABLE IF NOT EXISTS `mychattable` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`from` int(10) unsigned NOT NULL,
`to` int(10) unsigned NOT NULL,
`message` text NOT NULL,
`sent` int(10) unsigned NOT NULL DEFAULT '0',
`read` tinyint(1) unsigned NOT NULL DEFAULT '0',
`direction` tinyint(1) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `to` (`to`),
KEY `from` (`from`),
KEY `direction` (`direction`),
KEY `read` (`read`),
KEY `sent` (`sent`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=29 ;

谢谢

最佳答案

只需创建一个名为“status”的新列。不要运行删除查询,只需将消息的状态形式 0:visible 更改为 1:invisible。当用户 B 想要检查它时,输入条件,即使消息的状态为“1”,他也可以看到。

关于php - 如何删除成员(member)A在聊天中接收和发送的消息而不删除成员(member)B帐户中的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28635033/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com