2013-06-03 46 views
3

一直试图找出这一点了几天。没有提出任何解决方案,我已经搜索并询问了朋友。但没有好的结果。错误与查询和while循环

当我用户$ 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); 

?> 
+0

你能放的var_dump($查询)的输出的第一行后? – Antoine

+0

它显示: bool(false) – user2328659

+0

所以这个问题可能是$ dbh,你能编辑你的代码并添加这个变量的创建吗? – Antoine

回答

0
$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"); 
+0

试过了,仍然无法正常工作:(谢谢 – user2328659

+0

对不起,我的错!工作!谢谢你这么多@LANCE – user2328659

+0

没问题所有! – Lance