作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试用 php 和 mysql 开发一个消息系统,我想使用以下查询检索 2 个人之间的所有消息:
$message = mysql_query("SELECT *FROM messages WHERE (sentby=$id AND sentto=$id2)AND (sentby=$id2 AND sentto=$id) ORDER BY time DESC");
该 sql 语句不起作用。我认为这是因为 (sentby=$id2 AND sentto=$id) 和 (sentby=$id AND sentto=$id2) 之间的 AND 语句不是正确的语法。有人可以展示编写此查询的正确方法吗?
谢谢你们,将其更改为 OR 解决了我的问题。最初我将其设置为 OR,但是自从这个查询之后,我有另一个查询来搜索与用户 ID 关联的用户名,并且我发现如果我使用 OR,它将给出两个人的用户名。由于感到困惑和疲倦,我将其改为 AND 试图解决问题。现在我的两个问题都解决了。
最佳答案
WHERE (sentby=$id OR sentby=$id2) AND (sentto=$id2 OR sentto=$id)
这将表示选择所有sentby =任一ID,并且sentto也必须=任一ID
$message = mysql_query("SELECT *FROM messages WHERE (sentby=$id OR sentby=$id2) AND (sentto=$id2 OR sentto=$id) ORDER BY time DESC");
关于php - sql中的第2组AND语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43897932/
我是一名优秀的程序员,十分优秀!