[英]How to filter data in MySQL (One to many relationship) using PHP
我想做的事
用戶將使用GET
發送一個值,並將該值存儲在名為$category1
的變量$category1
。 現在將顯示所有包含$category1
值的行。 這就像一個搜索系統。
這是我的代碼
$stmt = $conn->prepare("SELECT tmdb_movies.movie_title
,GROUP_CONCAT(DISTINCT genres.genres_name SEPARATOR ', ') AS genres
FROM tmdb_movies
JOIN genres ON genres.genres_tmdb_id=tmdb_movies.tmdb_id
WHERE EXISTS (SELECT genres.genres_name FROM genres WHERE genres.genres_name = '$category1');
GROUP BY tmdb_movies.movie_title");
錯誤:由於WHERE Exist行(IDK,如果我應該使用它還是不使用它)
致命錯誤:未捕獲的PDOException:SQLSTATE [42000]:語法錯誤或訪問沖突:1140在沒有GROUP BY的聚合查詢中,SELECT列表的表達式#1包含非聚合列'DataBaseName.tmdb_movies.movie_title'; 這與sql_mode = only_full_group_by不兼容
現在讓我解釋一下我的表結構
我有兩張桌子
tmdb_movies
(它存儲電影標題和tmdb_id) genres
(存儲流派,通過tmdb_id連接) 表的示例。
tmdb_movies
表
tmdb_id movie_title
1 The_Dark_Night
2 Logan
3 IronMan
genres
表
tmdb_id genres
1 Action
1 Crime
1 Drama
2 Action
2 Drama
3 Action
3 Comedy
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.