Php 查询和while循环出错

Php 查询和while循环出错,php,pdo,while-loop,Php,Pdo,While Loop,这几天我一直在想办法。我还没有想出任何解决办法,我已经搜索并询问了朋友们。但是没有好的结果 当我使用$db->query()时;它给了我这个错误: 致命错误:对非对象调用成员函数fetch() 当我使用prepare时,我没有得到任何结果,只有一个空白页 <?php $query = $dbh->query("SELECT name, ad_offer, content, expiration_date FROM biz_ads ORDER BY id DESC LIMIT 0,5"

这几天我一直在想办法。我还没有想出任何解决办法,我已经搜索并询问了朋友们。但是没有好的结果

当我使用$db->query()时;它给了我这个错误: 致命错误:对非对象调用成员函数fetch()

当我使用prepare时,我没有得到任何结果,只有一个空白页

<?php
$query = $dbh->query("SELECT name, ad_offer, content, expiration_date FROM biz_ads ORDER BY id DESC LIMIT 0,5");
while($row = $query->fetch(PDO::FETCH_NUM)) {
        $name = $row[0];
        $ad_offer = $row[1];
        $content = $row[2];
        $expiration_date = $row[3];
        ?>
        <div class="name"> 
        <?php 
        echo $name;
        ?>
        <div class="ad_offer">
        <?php
        echo $ad_offer;
        ?>
        </div>
        <div class="content">
        <?php
        echo $content;
        ?>
        </div>
        <div class="expiration_date">
        <?php
        echo $expiration_date;
        ?>
        </div>
    <?php
        }
?>

感谢您的帮助。 奇怪的是,不久前我还收到了一个类似的查询。仍然不起作用

<?php

$hostname = 'localhost';
$username = 'root';
$password = '';

$dbh = new PDO("mysql:host=$hostname;dbname=broet;", $username, $password);

?>


您能将var_dump($query)的输出放在第一行之后吗?它显示:bool(false),所以问题可能是$dbh,您能编辑代码并添加此变量的创建吗?听起来查询失败了。在查询后尝试输出
$dbh->errorInfo()
$dbh->errorInfo()
会说什么?对不起,我的错!作品非常感谢你,兰斯
$query = "SELECT name, ad_offer, content, expiration_date 
         FROM biz_ads 
         ORDER BY id DESC 
         LIMIT 0,5";
$stmt = $dbh->prepare($query);
$stmt->execute()or die("error");