我在向博客文章系统添加评论时遇到问题,我使用OOP PHP完成了这个,这是我的代码:
public function getBlogPosts() {
$stmt = $this->mysqli->prepare("SELECT id, posted_by, date_time, title, message FROM blog_posts");
$stmt->execute();
$stmt->bind_result($id, $posted_by, $date_time, $title, $message);
$stmt->store_result();
$stmt2 = $this->mysqli->prepare("SELECT id, posted_by, date_time, post_id, message FROM blog_comments");
$stmt2->execute();
$stmt2->bind_result($c_id, $c_posted_by, $c_date_time, $c_post_id, $c_message);
$stmt2->store_result();
while($stmt->fetch() && $stmt2->fetch()) {
echo "<h3>$title</h3>Posted by: $posted_by at $date_time.<br /><br />$message<br />";
if($stmt2->num_rows > 0) {
$stmt3 = $this->mysqli->prepare("SELECT post_id FROM blog_comments WHERE post_id=?");
$stmt3->bind_param('s', $id);
$stmt3->execute();
$stmt3->bind_result($n_id);
$stmt3->store_result();
if($stmt3->num_rows > 0) {
while($stmt3->fetch() && $stmt2->fetch()) {
echo "<br /><br />" . $c_posted_by . " at " . $c_date_time . "<br />" . $c_message;
}
}
$stmt3->close();
}
}
$stmt->close();
$stmt2->close();
}
在该代码中,如果表'post_id'与blog_posts记录的id匹配,我试图获取所有博客帖子,并将博客评论发布到博客帖子。如果您能发现错误,我将非常高兴,这将有助于许多尝试解决此类错误的人。谢谢!
答案 0 :(得分:0)
我已完成了重新编码,并且工作正常。我没有提供代码,但逻辑是
//如果有博客帖子,则回复博客帖子并存储ID
//存储id后,使用它来检查是否有与该id相关的blog_comment并尝试链接它们。
//如果有一个id链接到blog_comment,则将其回显。简单?如果您有问题,请告诉我。