我正在尝试从数据库中选择所有帖子(其中一个ID是指另一个表中的一个ID,该表连接我在网络中的联系人)或(选择我是帖子作者的帖子)。实际上,我正试图从我的网络和我自己的人那里获取帖子。
我已经知道如何做到这一点,但是当使用OR子句时,它会选择两次行。例如,如果我写了一篇文章,当echo从数据库中发出时,它就被复制了。
我的mySQL:

$sId = validate::intValidate($_SESSION['userId']);
$sql = "SELECT * FROM networkPost
            INNER JOIN authentication
                ON networkPost.FK_networkYou=authentication.userId
            INNER JOIN network
                ON networkPost.FK_networkYou=network.networkYou
            WHERE networkMe=$sId AND FK_networkYou=networkYou OR networkYou=$sId
            ORDER BY networkPostId DESC";

networkYou是:post writer的用户ID。
那么我如何选择我自己的帖子和我的网络帖子呢?

最佳答案

代码中几乎没有错误

validate::intValidate($_SESSION['userId']); //missing square bracket

查询的WHERE部分缺少括号
WHERE (networkMe=$sId AND FK_networkYou=networkYou) OR networkYou=$sId

关于mysql - MySQL-在哪里,和/或选择,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9683242/

10-10 23:05