Web サイトの検索ボックスで、1 つのクエリで複数のテーブルを検索できるようにしようとしています。
したがって、ユーザーdisplay_name
がに保存されptb_profiles
ているユーザーを検索すると、一致する名前を持つユーザーが表示されます。または、に保存されptb_stats
ている国籍で検索すると、その国籍を持つすべてのユーザーが表示されます。
最初に使用してこれを行ったときSELECT * FROM ptb_users, ptb_stats, ptb_profiles
、検索結果が重複し、同じ結果が複数回表示されていたので、これを回避し、グループ化とユニオンオールを使用して各結果を1回だけ表示しようとしましたが、うまくいきませんでした。
今、これを試しました:
$query_for_result=mysql_query("SELECT display_name, location, gender, contact_number FROM ptb_profiles WHERE display_name LIKE '%".$query."%' OR location LIKE '%".$query."%' OR gender LIKE '%".$query."%' OR contact_number LIKE '%".$query."%' JOIN SELECT email, subscription FROM ptb_users WHERE email like '%".$query."%' OR subscription like '%".$query."%' JOIN SELECT nationality, hobbies, local_station FROM ptb_stats WHERE nationality like '%".$query."%' OR hobbies like '%".$query."%' OR local_station like '%".$query."%'
LIMIT 5");
しかし、これは次のエラーを引き起こします:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /Applications/XAMPP/xamppfiles/htdocs/PTB1/includes/mod_sidebar/search.php on line 31
誰かが私が間違っているところを教えてもらえますか?