Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用id从不同的表中获取数据_Php_Mysql_Sql_Join - Fatal编程技术网

Php 使用id从不同的表中获取数据

Php 使用id从不同的表中获取数据,php,mysql,sql,join,Php,Mysql,Sql,Join,我的数据库中有一个名为users的表,该表中有一个名为rank的字段。此字段保存用户等级的id 我的数据库中还有一个名为“ranks”的表,这个表有id、rank\u id和rank\u name,其中id是主要的自动递增字段,rank\u id保存了rank id,这就是我的用户表中使用的内容 一切都很好。当我输出用户的级别时,我需要显示用户的rank\u name,而不是rank\u id。我不是mysql的专家,我还在学习 如何获取用户rank,将其与表rank中的rank\u id匹配,

我的数据库中有一个名为
users
的表,该表中有一个名为
rank
的字段。此字段保存用户等级的id

我的数据库中还有一个名为“ranks”的表,这个表有
id
rank\u id
rank\u name
,其中
id
是主要的自动递增字段,
rank\u id
保存了rank id,这就是我的
用户
表中使用的内容

一切都很好。当我输出用户的级别时,我需要显示用户的
rank\u name
,而不是
rank\u id
。我不是mysql的专家,我还在学习

如何获取用户
rank
,将其与表
rank
中的
rank\u id
匹配,然后从相应的
rank\u id
输出
rank\u name


请使用
mysql.*
回答这个问题。我知道它的生命即将结束,但这就是我目前正在练习的,这将帮助我学习如何转换为
mysqli.*
或PDO。

您需要使用这样的查询

 SELECT u.name, r.rank_name
 FROM users AS u
 LEFT JOIN ranks AS r ON u.rank = r.rank_id

我建议你读一下不同的连接。还请记住,您可以以这种方式连接多个表。

这是一个非常基本的SQL
join
query。我认为如果你要使用SQL,你需要学习更多关于SQL的知识?好的,谢谢。
从(users.rank\u id=ranks.id)上的用户内部加入列组中选择*,其中users.id={userId}
。。。。这只是一个例子,但它应该为您指出正确的方向。非常感谢@micb“请使用
mysql.*
”回答这个问题非常简单,令人恼火。是的,您必须使用联接。不,如果你甚至不愿意提供基本的代码,我们不必为你从头开始编写代码。正如你提到的,你应该使用PDO/MYSQLI,但我看到了很多关于mysql的问题。因此,如果你开始为人们编辑脚本等,你可能会发现了解mysql很好,因为这就是他们所使用的,所以你从这里开始并不一定是件坏事,只要你知道这种不受欢迎的情况。我非常清楚,你的推理正是我为什么从mysql开始的原因。人们当前的脚本将使用mysql函数进行编码,并且在他们对脚本进行修改之前不会更新到mysqli或pdo,这可能不会持续很长时间。我认为了解新旧惯例是个好主意。