我想做什么
用户将使用GET
发送值,我会将值存储在名为$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