我目前在从数据库中获取数据时遇到问题。它真的让我疯狂,特别是因为它是我用来获取其他工作表的确切代码。
if ($content = $database->prepare($sql_get_all_articles)){
$content->execute();
$content->bind_result($id, $title, $content, $author, $date_posted);
while($content->fetch()){
echo "<article>
<h2>".$title."</h2>
<div class=\"article-info\">Posted on <time datetime=\"".$date_posted."\">".$date_posted."</time> by <a href=\"#\" rel=\"author\">".$author."</a></div>
<p>".$content."</p>
<a href=\"#\" class=\"button\">Read more</a>
<a href=\"#\" class=\"button\">Comments</a>
</article>";
}
$content->close();
}
代码工作一次,它只发布第一篇文章。但是当尝试第二个时,它会返回错误:
致命错误:在第47行的C:\ xampp \ htdocs \ index.php中的非对象上调用成员函数fetch()
我使用的SQL语句是:
$sql_get_all_articles = "SELECT id, title, content, author, date_posted FROM article";
答案 0 :(得分:1)
if ($content = $database->prepare($sql_get_all_articles)){
$content->execute();
while($result = $content->fetchObject()){
echo "<article>
<h2>".$result->title."</h2>
<div class=\"article-info\">Posted on <time datetime=\"".$result->date_posted."\">".$date_posted."</time> by <a href=\"#\" rel=\"author\">".$result->author."</a></div>
<p>".$result->content."</p>
<a href=\"#\" class=\"button\">Read more</a>
<a href=\"#\" class=\"button\">Comments</a>
</article>";
}
$content->close();
}
答案 1 :(得分:1)
您正在使用$content
为查询和bind_result()
中提到的字段之一命名,以捕获查询结果。因此,第一个fetch()
操作会覆盖查询。