PHP 加入两个 table,其中一个 table 中的两列包含 from_ID 并且 to_ID 引用另一个 table 中的 id

PHP join two table where two column in one table contains from_ID and to_ID refer to id in another table

我有两个table

fnf

id
from_ID
to_ID

用户

id
name

当我发送好友请求时,我的用户 table 的 ID 转到 from_ID。当其他人发送好友请求时,他的 id 转到 from_ID 而我的 id 转到 to_ID.

我从 fnf table 得到了我所有的朋友 ID,如下所示

$getmyfriends=mysqli_query($con, "SELECT * FROM fnf WHERE (from_ID='$logged' || to_ID ='$logged')");    
$getmyfriendsnum=mysqli_num_rows($getmyfriends);
if($getmyfriendsnum !=0){
while($getmyfriendsrow=mysqli_fetch_assoc($getmyfriends)){
    $from_ID=$getmyfriendsrow['from_ID'];
    $to_ID=$getmyfriendsrow['to_ID'];
        if($from_ID==$logged){
            $myf=$to_ID;
        }else if($to_ID==$logged){
            $myf=$from_ID;
        }
   }
}

现在,我正在尝试从 table users

获取我的非好友 ID
$getalluser=mysqli_query($con, "SELECT * FROM `users` WHERE `id`!='$myf' ");
$getallusernum=mysqli_num_rows($getalluser);
if($getallusernum !=0){
while($getalluserrow=mysqli_fetch_assoc($getalluser)){
    $nonfriendid=$getalluserrow['id'];
    echo $nonfriendid."</br>";
    }
}

我没有得到实际的非朋友 ID。即使我尝试将第二个查询放入第一个 while 循环,这也很糟糕,实际上,我也不理解 INNER JOIN。

谁让非好友的 id 进入第二个 while 循环。

select 
`id` 
from 
`users` 
where 
`id` 
not in 
    (select 
     `from_ID` 
     from 
     `fnf`) 
and 
`id` 
not in 
    (select 
     `to_ID` 
     from 
     `fnf`)