我有以下的PHP腳本,它選擇並插入到數組中,我想選擇的所有user_ids。獲取數組的輸出,並使用它mysql查詢
$query = mysql_query(" SELECT `user_id` FROM users WHERE (surname LIKE '$name%' AND name LIKE '$surname%') OR (surname LIKE '$surname%' AND name LIKE '$name%') ");
while($run = mysql_fetch_array($query)){
$user_id = $run['user_id'];
$check_friend_query = mysql_query(" SELECT friends_id from friends WHERE (user_one='$session_user_id' AND user_two ='$user_id') OR (user_one='$user_id' AND user_two='$session_user_id') ");
if(mysql_num_rows($check_friend_query) == 1 ){
$array[] = $user_id;
}
}
通過使用那麼下面的腳本,我感到我有數組中的所有用戶ID的輸出:
foreach($array as $key => $value) {
echo "$value </br>";
}
在我的情況下,這個輸出中打印了我5個用戶id:32,36 ,37,38,39
我要的是下面的SQL查詢中使用這些值:
$sql = " SELECT `name`, `surname`, `email`, `user_id` FROM users WHERE ((surname LIKE '$name%' AND name LIKE '$surname%') OR (surname LIKE '$surname%' AND name LIKE '$name%')) AND `user_id`='$value' ";
但如果像上面寫的那樣,查詢只適用於一個值,在我的情況下是39而不是全部。我怎樣才能讓它爲所有人工作?
如果你的每個用戶都有一個唯一的'user_id',你只能通過執行'WHERE user_id = $ value'來選擇它們,這將會簡單得多,並且可以解決你的問題。 – Wilq
是否做到了......但僅適用於值39(恰好是最後一個),不適用於所有值 – user2491321
您是在使用'$ value'進行foreach循環之後還是使用該查詢? – Wilq