使用PHP从2个表中选择数据

使用PHP从2个表中选择数据,php,sql,mysqli,Php,Sql,Mysqli,我对PHP和SQL比较陌生,我正在为自己的页面创建一个简单的博客工具,我一直在思考如何制作评论部分。 我有两张桌子 概述,其中包含博客帖子和其他信息 注释,其中包含注释 $servername = "localhost"; $username = "root"; $password = "password"; $dbname = "blog"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn-&g

我对PHP和SQL比较陌生,我正在为自己的页面创建一个简单的博客工具,我一直在思考如何制作评论部分。 我有两张桌子 概述,其中包含博客帖子和其他信息 注释,其中包含注释

$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "blog";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error){
    die ("connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM general WHERE hidden = 'false' ORDER BY id DESC";
$result = $conn->query($sql);
if ($result->num_rows > 0){
   while ($row = $result->fetch_assoc()){
     echo "<div class='blogpost'>
          <div class='blogbody'></div>";

     //I need to do a query into the comments table at this point to find
     //all comments matching the criteria to be matched with the post here.
     echo "<div class='comments'></div></div>";
   }
}
else{
    echo "no posts";
}
一切都会破裂。在开始加载其他帖子之前,我无法加入一个获取特定帖子所有评论的循环


我该怎么解决这个问题呢?我可能需要在任何代码示例中添加一些注释,

您可以使用文章的主键,并且可以在注释表中作为外键使用,这样您就可以轻松地进行查询,从而显示针对该特定文章的所有注释。然后查询将如下所示:

 $postid=$row['post_id'];

$sql2=“从评论中选择*,其中post_id=“$post id”按post_id DESC排序”

更改第二个查询以修复该问题

WHERE $row["parent"] ORDER. Change that to WHERE parent={$row['parent']} ORDER

感谢Jeff提供了这个答案

这就是问题的症结所在:
where$row[“parent”]ORDER
。将其更改为
WHERE parent={$row['parent']}顺序
。我现在假设列名为
parent
——将其更改为实际列名。[是引号给了你一个语法错误]但是为了让它更简单,请阅读
join
并始终检查错误。在php和db(mysqli_error)中,为所有查询使用准备好的语句将为您节省大量的麻烦。
WHERE $row["parent"] ORDER. Change that to WHERE parent={$row['parent']} ORDER