gpt4 book ai didi

php - MySQL 使用 join 连接表

转载 作者:行者123 更新时间:2023-11-29 02:30:02 25 4
gpt4 key购买 nike

我一整天都在为这个问题绞尽脑汁,只是无法解决。这是我第一次尝试使用 SQL 连接,虽然我们确实学习了一些基础知识,但我更愿意深入了解高级内容。

基本上我正在制作自己的论坛,并且我有两张 table 。 f_topics(话题)和 f_groups(论坛或类别)。 f_topics 中的topicBase 和f_groups 中的groupID 之间存在关联,这表明每个主题属于哪个组。每个主题都有一个唯一的 ID,称为 topicID,组也一样,称为 groupID。

基本上,我试图将所有这些列放入单个 SELECT 语句中 - 主题标题、主题发布日期、主题所属组的 ID 以及该组的名称。这就是我试图使用的,但是该组总是以 1 返回,即使该主题在 groupID 2 中也是如此:

$query=mysqli_query($link, "

SELECT `topicName`, `topicDate`, `groupName`, `groupID`
FROM `f_topics`
NATURAL JOIN `f_groups`
WHERE `f_topics`.`topicID`='$tid';


") or die("Failed to get topic detail E: ".mysqli_error());
var_dump(mysqli_fetch_assoc($query));

抱歉,如果这没有多大意义,并且如果我的整个逻辑完全错误,那么您能否建议一种替代方法?

感谢阅读!

最佳答案

要连接表,您需要映射外键。假设您的组表有一个 groupID 字段,这就是您加入它们的方式:

SELECT `topicName`, `topicDate`, `groupName`, `groupID`
FROM `f_topics`
LEFT JOIN `f_groups`
ON `f_topics`.`groupID` = `f_groups`.`groupID`
WHERE`f_topics`.`topicID`='$tid';

关于php - MySQL 使用 join 连接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14611002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com