PHP mysql 如何连接两个表以链接一个表中的名称并从另一个表发布


PHP mysql how to join two tables to link name from one table and post from other table

所以我在这方面很糟糕,现在我有这个代码

$test = "SELECT `status`,`pubdate` FROM `status` ORDER BY `pubdate` DESC";
$stmt = $db->prepare($test);
$stmt->execute();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
    echo "<section class='statusar'>"."<article>";
    echo $row['status'];
    echo $row['pubdate'];
    echo "</article></section>";
}

它显示了帖子,但现在我想从另一个表中获取用户的名字并将其与帖子一起显示。我该怎么做?

我的两张桌子看起来像这样

这是带有帖子的表格

Status_id  int          unsigned       auto_increment  primary
user_id    int          unsigned index
status     varchar(600)
pubdate    datetime

这是另一个表

user_id   int         unsigned auto_increment primary index
firstname varchar(30)
surname   varchar(30)
username  varchar(30) unique
password  varchar(90)

我已经这样做了,他们之间有关系user_ids

编辑

我想我想通了,因为现在它可以:D所以现在当我使用

SELECT status, pubdate,firstname,surname FROM status INNER JOIN user ON status.user_id = user.user_id ORDER BY status.pubdate DESC

它显示了我想要的所有东西,我也尝试过

SELECT * FROM status INNER JOIN user ON status.user_id = user.user_id ORDER BY status.pubdate DESC";

这也有效,感谢您的帮助:D

只需使用inner join

SELECT s.status, s.pubdate, u.firstname
FROM status s
    INNER JOIN usertable u ON s.user_id = u.user_id
ORDER BY s.pubdate DESC
  • SQL 联接的直观说明

这假设user_id存在于usertable中。 如果不是这种情况,则需要改用outer join