データベース テーブル:
Table Name: friends
user_id | friend_id | accepted | key_id
--------------------------------------------------
123 | 234 | 2 | 1
123 | 456 | 2 | 2
123 | 789 | 1 | 3
222 | 123 | 2 | 4
498 | 123 | 2 | 5
最初のクエリ(確認済みの友達を取得するため)
$user_id=123;
$query="SELECT * FROM friends WHERE
(user_id='$user_id' OR friend_id='$user_id')
AND accepted='2'";
$result=mysqli_query($dbc, $query);
while($row=mysqli_fetch_array($result))
{
if($row['user_id']==$user_id)
{
$friend[]=$row['friend_id'];
}
if($row['friend_id']==$user_id)
{
$friend[]=$row['user_id'];
}
}
print_r($friend);
私がやろうとしているfriend
のは、一致する ID を配列に設定することです。ここで、user_id が と等しい$user_id
か、friend_id が等しく$user_id
、受け入れられた値は 2 です。現在、上記は何も返さず、私が配列を正しくフォーマット/作成しています。
この場合、正しい結果を達成するための最良の方法は何でしょうか。IN()
また、別のテーブルから選択する条件を使用して別の MYSQL ステートメントに含めることができるように、配列をフォーマットする必要があります。