Php 如何将表与SQL组合?
好的,我有两个信息表:电影和历史。My movies db拥有关于电影的所有信息。这些是电影中的行:id、标题、照片、目的地、描述、分级、长度、喜欢 My history db包含有关用户单击的电影的所有信息。这些是历史记录中的行:id、user\u id、movie\u id 问题 我正在开发一个名为“我的历史记录”的功能。如何在一个SQL查询中显示他们的历史记录并从电影中获取信息 例如:Php 如何将表与SQL组合?,php,mysql,Php,Mysql,好的,我有两个信息表:电影和历史。My movies db拥有关于电影的所有信息。这些是电影中的行:id、标题、照片、目的地、描述、分级、长度、喜欢 My history db包含有关用户单击的电影的所有信息。这些是历史记录中的行:id、user\u id、movie\u id 问题 我正在开发一个名为“我的历史记录”的功能。如何在一个SQL查询中显示他们的历史记录并从电影中获取信息 例如: $db->query("SELECT * FROM movies ORDER BY TABLE h
$db->query("SELECT * FROM movies ORDER BY TABLE history WHERE user_id='$id'");
如果答案看起来很简单,我道歉。这是我从事编程工作的第一年。感谢您提供的帮助。您的问题是:
SELECT * FROM movies m
INNER JOIN history h ON h.movie_id = m.id
WHERE h.user_id = $id
ORDER BY h.id --not sure what you want to order by, but it goes here
也就是说,您需要了解SQL注入。您应该使用,而不是直接将变量添加到查询中。您的查询应该是:
SELECT * FROM movies m
INNER JOIN history h ON h.movie_id = m.id
WHERE h.user_id = $id
ORDER BY h.id --not sure what you want to order by, but it goes here
也就是说,您需要了解SQL注入。您应该使用,而不是直接将变量添加到查询中。您的查询SQL中有一些错误。 我想你可以试试:(在Mysql中)
SELECT movies.*从history-internal-JOIN-movies-ON-history.movie\u-id=movies.id其中user\u-id=$id
您的查询SQL中有一些错误。
我想你可以试试:(在Mysql中)
SELECT movies.*从history.movie\u id=movies.id,其中user\u id=$id
您要查找的是MySQL中的JOIN
。您将需要执行类似的操作:
SELECT * FROM movies m
JOIN history h ON m.id=h.movie_id
AND h.user_id = $id
ORDER BY <column name>;
SELECT*FROM movies m
在m.id=h.movie\u id上加入历史h
h.user_id=$id
订货人;
这个JOIN
背后的基本概念是,您从电影中获取主键(id),并在历史记录中加入对应的外键(movie_id)
还值得注意的是,JOIN
、交叉连接
、以及内部连接
都是MySQL中的语法等价物
由于您刚刚开始编程的第一年,我强烈建议您查阅
JOIN
上的文档,并自己完全理解它,而不是复制和粘贴一个在这里有效的答案。从长远来看,这对你是有益的!请参阅有关JOIN
语法的MySQL文档。您要查找的是MySQL中的JOIN
。您将需要执行类似的操作:
SELECT * FROM movies m
JOIN history h ON m.id=h.movie_id
AND h.user_id = $id
ORDER BY <column name>;
SELECT*FROM movies m
在m.id=h.movie\u id上加入历史h
h.user_id=$id
订货人;
这个JOIN
背后的基本概念是,您从电影中获取主键(id),并在历史记录中加入对应的外键(movie_id)
还值得注意的是,JOIN
、交叉连接
、以及内部连接
都是MySQL中的语法等价物
由于您刚刚开始编程的第一年,我强烈建议您查阅
JOIN
上的文档,并自己完全理解它,而不是复制和粘贴一个在这里有效的答案。从长远来看,这对你是有益的!请参阅有关JOIN
语法的MySQL文档。首先,orderby
位于WHERE
子句之后。第二,删除TABLE
关键字并使用JOIN
关键字第三,阅读类似于SELECT h.*,m.title的内容h JOIN movies m on m.id=h.movie\u id,其中h.user\u id=$id
并不是您想要的,但应该开始使用。第四,找出您正在使用的RDBMS。首先,orderby
位于WHERE
子句之后。第二,删除TABLE
关键字并使用JOIN
关键字第三,阅读类似于SELECT h.*,m.title的内容h JOIN movies m on m.id=h.movie_id,其中h.user_id=$id
并不是您想要的,但它应该让您开始使用。第四,找出您正在使用的RDBMS,不要使用邪恶“选择*”并不要使用邪恶的“选择*”