【发布时间】:2017-05-10 16:19:32
【问题描述】:
我正在尝试在 php 和 mysql 中开发一个消息传递系统,我想使用以下查询检索两个人之间的所有消息:
$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 以尝试解决问题。现在我已经解决了我的两个问题。
【问题讨论】:
-
你想要
OR而不是AND这里-(sentby=$id AND sentto=$id2) OR (sentby=$id2 AND sentto=$id) -
也只标记您正在使用的数据库。哪一个? MySQL 还是 SQL Server?
标签: php mysql sql-server