使用PHP从2个表中选择数据
我对PHP和SQL比较陌生,我正在为自己的页面创建一个简单的博客工具,我一直在思考如何制作评论部分。 我有两张桌子 概述,其中包含博客帖子和其他信息 注释,其中包含注释使用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
$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