gpt4 book ai didi

MySQL 选择哪里...如果

转载 作者:行者123 更新时间:2023-11-29 14:36:25 25 4
gpt4 key购买 nike

我用 PHP 和 MySQL 进行了一次简短的交谈。但现在我遇到了一个问题:我想进行查询,以便如果消息设置为私有(private),则仅当它们发送给该用户时我才加载它们。如果它们不是私有(private)的,只需加载它们即可。

我知道我需要一个“如果”。但我怎么能这么做呢?我的代码如下所示:

SELECT message, private, FromPerson, ToPerson 
FROM chat WHERE time > '$time'
and FromPerson != '$user_id'
AND IF (private = '1') ToPerson = '$user_id'

提前谢谢您。

最佳答案

有多种方法可以实现这一目标,其中:

AND (private <> '1' OR ToPerson = '$user_id')

这几乎意味着“要么不是私有(private)消息,要么是发送给特定用户的”;或

AND IF(private = '1', ToPerson = '$user_id', TRUE)

这是不言自明的。

最后评论:看在上帝的份上,请使用准备好的语句,并且不要将外部输入内联到您的 SQL 中,否则 SQL 注入(inject)迟早会打败您。

关于MySQL 选择哪里...如果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8944858/

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