【发布时间】:2020-01-08 04:04:36
【问题描述】:
当加载我的 home.php 页面时,它应该将从数据库“blog_post”中选择的数据打印到页面上。但是记录被正确插入,但页面上没有显示任何数据。我在这里查找了各种解决方案,但似乎都没有。
我在这里查看了许多与我的问题类似的问题。似乎没有一个答案能回答我的问题。我曾尝试过使用 PDO 进行此操作,该 PDO 可以使用但可以使用表格,但是我不想这样做,因为这对于我想要实现的目标来说也有点多。
$stmt = $con->prepare("SELECT postTitle, postCont FROM blog_post WHERE
blogid = ? ORDER BY blogid DESC");
$stmt->bind_param('s', $postTitle['postTitle']);
$stmt->execute();
$stmt->bind_result($postTitle, $postCont);
$stmt->fetch();
if(!$postTitle){
echo "<p align='center'>No Blog Currently Available!</p>";
} else {
echo '<div>';
echo '<h1>'.var_dump($postTitle).'</h1>';
echo '<p>'.$postCont.'</p>';
echo '</div>';
}
我希望当数据通过我的 admin.php 页面添加到数据库时。然后它应该将数据显示到 home.php 中。
【问题讨论】:
-
您确定将您的数据库列
blogid与$postTitle的绑定值进行比较吗? -
“页面上没有显示数据” ...您的意思是您看到“当前没有可用的博客!”消息,或者您实际上什么也没看到?如果是后者,请检查 PHP 是否崩溃,以及是否启用了错误报告/日志记录。然后,您也许可以查看是否发生错误。我怀疑你可能有一个,因为
$row不是一个数组。根据文档,fetch() 只能返回 true、false 或 null。当您使用 fetch() 时,您通过使用 bind_result 获取数据,而不是通过读取行数组。 -
我看到“目前没有可用的博客!”在页面上,即使数据库中有数据。之前使用数组时(忘记在问题中发布),它有另一个错误(现在不太记得了)。我认为这与虚假有关。
-
好吧,就像我说的那样,那是因为
$row不是一个数组。可能还会生成警告(但可能会被抑制)。您已将输出变量绑定到 $postTitle 和 $postCont,因此请使用它们。echo '<h1>'.$postTitle.'</h1>'; echo '<p>'.$postCont.'</p>';。我认为您对现在使用的语法和 do it via get_result() 时可以使用的语法感到困惑 -
P.S.还要注意第一条评论 - 除非您将变量命名得很糟糕,否则您似乎有不匹配的情况,这可能导致无论如何都不会返回任何结果。如果 $postTitle 包含一个字符串,它甚至可能会产生错误,因为您已经告诉数据库需要一个整数。
标签: javascript php html css sql