【问题标题】:Error with query and while loop查询和while循环出错
【发布时间】:2013-06-03 22:15:40
【问题描述】:

这几天一直在尝试解决这个问题。还没有想出任何解决方案,我已经搜索并询问了朋友。但没有好的结果。

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

当我使用准备时,我根本没有得到任何结果,只是一个空白页。

<?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-&gt;errorInfo()
  • $dbh-&gt;errorInfo() 说什么?

标签: php pdo while-loop


【解决方案1】:
$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");

【讨论】:

  • 对不起,我的错!作品!非常感谢@LANCE
猜你喜欢
  • 2013-03-11
  • 2013-01-15
  • 2013-03-19
  • 1970-01-01
  • 2021-05-06
  • 2011-07-05
  • 2013-07-01
  • 2020-06-12
  • 2018-08-14
相关资源
最近更新 更多