我希望得到所有类型等于ID_GENRE = 8
的电影。这是我正在做的查询:
http://l4c.me/fullsize/2-tablas-1434140362.png
$query_GetSimilar = sprintf("SELECT * FROM z_movie,z_movie_genre ORDER BY z_movie.visits DESC WHERE z_movie_genre.id_genre = 8 LIMIT 18");
$GetSimilar = mysql_query($query_GetSimilar, conect::dbconect()) or die(mysql_error());
$row_GetSimilar = mysql_fetch_assoc($GetSimilar);
$totalRows_GetSimilar = mysql_num_rows($GetSimilar);
但是我跳了下一个错误
您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以便使用正确的语法,以便在' WHERE z_movie_genre.id_genre = 8 LIMIT 18'在第1行
答案 0 :(得分:0)
进行简单搜索,看看是否可以在'where'之前加上'order by'。
答案 1 :(得分:0)
$query_GetSimilar = sprintf("SELECT * FROM z_movie,z_movie_genre WHERE z_movie_genre.id_genre=8 ORDER BY z_movie.visits DESC LIMIT 18");
$GetSimilar = mysql_query($query_GetSimilar, conect::dbconect()) or die(mysql_error());
$row_GetSimilar = mysql_fetch_assoc($GetSimilar);
$totalRows_GetSimilar = mysql_num_rows($GetSimilar);
但我没有预期的结果
答案 2 :(得分:0)
WHERE
应该在ORDER BY
INNER JOIN
获取两个连接表,假设它们具有连接ID /列。例如,z_movie
和z_movie_genre
表都有id_genre
列相互连接,您可以尝试这样做:
$query_GetSimilar = sprintf("SELECT * FROM z_movie
INNER JOIN z_movie_genre ON z_movie.id_genre = z_movie_genre.id_genre
WHERE z_movie_genre.id_genre = 8
ORDER BY z_movie.visits DESC
LIMIT 18");