如何使用sql not in()从mysql表中获取独占记录列表

yc0p9oo0  于 2021-06-23  发布在  Mysql
关注(0)|答案(1)|浏览(243)

我正在尝试获取从会话用户收到消息(至少)的所有用户的列表,同时排除那些没有收到消息的用户。
但是我的代码只排除了一个,尽管在这个类别中有更多。
这是我的密码:

$SQL="select *from message where senderID="$sender"; $result=mysqli_query($link,$SQL);$totalRows=mysqli_num_rows($result);if($totalRows<>0){for($i=0;$i<$totalRows;  $I){$resultData[$i]=mysqli_fetch _array($result);
    }for($i=0;$i<$totalRows;  $I){$receiverID=$resultData[$i]['receiver_id'];
    $select="select *from users where memberID NOT IN($receiverID)";}  }

请问,我如何实现这个目标?

mec1mxoz

mec1mxoz1#

您可以在一个sql查询中完成所有这些操作:

$SQL = "SELECT * FROM users WHERE memberID NOT IN (SELECT receiver_id FROM message WHERE senderID = '$sender')";

我对php一无所知,但是您必须查阅它的文档才能正确使用php for 循环以检索数据。

相关问题