【问题标题】:No output on webpage from the database网页上没有来自数据库的输出
【发布时间】: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 '&lt;h1&gt;'.$postTitle.'&lt;/h1&gt;'; echo '&lt;p&gt;'.$postCont.'&lt;/p&gt;';。我认为您对现在使用的语法和 do it via get_result() 时可以使用的语法感到困惑
  • P.S.还要注意第一条评论 - 除非您将变量命名得很糟糕,否则您似乎有不匹配的情况,这可能导致无论如何都不会返回任何结果。如果 $postTitle 包含一个字符串,它甚至可能会产生错误,因为您已经告诉数据库需要一个整数。

标签: javascript php html css sql


【解决方案1】:

fetch 返回布尔值而不是数组。你已经绑定了两个变量,所以使用它们:

$stmt->bind_result($postTitle, $postCont);
$stmt->fetch();
if(!$postTitle){
    echo "<p align='center'>No Blog Currently Available!</p>";
} else {
    echo '<div>';
    echo '<h1>'.$postTitle.'</h1>';
    echo '<p>'.$postCont.'</p>';                
    echo '</div>';
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多