Php PDO查询()或fetch()不工作

Php PDO查询()或fetch()不工作,php,mysql,database,pdo,Php,Mysql,Database,Pdo,我有这个代码,我从数据库在我的网站上显示评论 但是没有显示评论。 我认为PDOquery()或fetch()可能不起作用,但问题是我没有收到任何错误 这是我使用的代码: <?php $showcom1 = $db->query("select * from comments where pc_active='no' order by p_id asc") or die (mysql_error()); $gpid = $_GET['p_id']; $dcid

我有这个代码,我从数据库在我的网站上显示评论 但是没有显示评论。
我认为PDO
query()
fetch()
可能不起作用,但问题是我没有收到任何错误

这是我使用的代码:

<?php
$showcom1 =  $db->query("select * from comments where pc_active='no' order by p_id asc") or die (mysql_error());
$gpid         = $_GET['p_id'];
$dcid         = $_GET['dc_id'];
$ecpid        = $_GET['ec_id'];
$hcpid        = $_GET['hc_id'];
$scpid        = $_GET['sc_id'];

echo "
<table width='100%' align='center' cellpadding='10' cellspacing='10'>
<tr>
    <td class='bodymenu' style='color: #4276a1' align='center'>
    الفئات  <text style='color: #555'>::</text>
    1 = القرآن الكريم
    <text style='color: #555'>||</text>
    2 = أدعية 
    <text style='color: #555'>||</text>
    3 = قصص 
    <text style='color: #555'>||</text>
    4 =مقالات 
    <text style='color: #555'>||</text>
    5 = فتاوى 
    <text style='color: #555'>||</text>
    6 = رمضانيات
    <text style='color: #555'>||</text>
    7 = اسلاميات
    </td>
</tr>
</table>
<table width='100%' align='center' cellpadding='0' cellspacing='0'>
<tr>
    <td class='tbl' colspan='7'>التعليقات</td>
</tr>
<tr align='center' >
    <td class='tblbb2' >الفئة</td>
    <td class='tblbb2' >اسم المعلق</td>
    <td class='tblbb2' >بريد المعلق</td>
    <td class='tblbb2' >اي بي المعلق</td>
    <td class='tblbb2' >تاريخ التعليق</td>
    <td class='tblbb2' >رابط الصفحة</td>
    <td class='tblrlb' >الخيارات</td>
</tr>";

// TABLE comments = pc_id,pc_name,pc_mail,pc_ip,pc_date,pc_text,pc_active,p_id

while ($rcom1 = $showcom1->fetch(PDO::FETCH_OBJ)) {
echo "
<tr>
    <td align='center' class='tblr' >".$rcom1->pc_cat."</td>
    <td align='center' class='tblr' >".$rcom1->pc_name."</td>
    <td align='center' class='tblr' >".$rcom1->pc_mail."</td>
    <td align='center' class='tblr' >".$rcom1->pc_ip."</td>
    <td align='center' class='tblr' >".$rcom1->pc_date."</td>
    <td align='center' class='tblrl' ><a target='_blank' href='../pages.php?p_id=".$rcom1->p_id."'>مشاهدة</a></td>
    <td align='center' class='tbll' >
    <a href='index.php?cpages=comments&dc_id=".$rcom1->pc_id."'>حذف</a> -
    <a href='index.php?cpages=comments&p_id=".$rcom1->pc_id."'>معاينة</a> -
    <a href='index.php?cpages=comments&hc_id=".$rcom1->pc_id."'>اخفاء</a>
    </td>
</tr>
";
}
echo "  <tr colspan='7'>
    <td colspan='7' class='tblb'>
    </td>
    </tr>";
?>

您希望在查询中显示注释

$showcom1 =  $db->query("select * from comments where pc_active='no' order by p_id asc") or die (mysql_error());
您的
pc\u处于活动状态
as
no
我猜
no
意味着注释可能被隐藏,而您在数据库中设置的其他单词意味着可见。。可能您的数据库中没有隐藏的注释,因此请尝试将
no
更改为另一个单词,或者将数据库中的pc\u活动更改为
no

我注意到的另一件事是你要么使用
要么死(mysql_error())这不适用于pdo您可能需要将其更改为使用捕获函数:D

它的工作原理如下:

catch(PDOException $e){
echo 'ERROR: '.$e->getMessage();
} 
将您的查询置于

try {

}
然后在尝试后放置捕获的对象,如下所示:

catch(PDOException $e){
echo 'ERROR: '.$e->getMessage();
} 

您应该在此处了解有关pdo错误处理的更多信息:

您想在查询中显示注释,但请在此处查看

$showcom1 =  $db->query("select * from comments where pc_active='no' order by p_id asc") or die (mysql_error());
您的
pc\u处于活动状态
as
no
我猜
no
意味着注释可能被隐藏,而您在数据库中设置的其他单词意味着可见。。可能您的数据库中没有隐藏的注释,因此请尝试将
no
更改为另一个单词,或者将数据库中的pc\u活动更改为
no

我注意到的另一件事是你要么使用
要么死(mysql_error())这不适用于pdo您可能需要将其更改为使用捕获函数:D

它的工作原理如下:

catch(PDOException $e){
echo 'ERROR: '.$e->getMessage();
} 
将您的查询置于

try {

}
然后在尝试后放置捕获的对象,如下所示:

catch(PDOException $e){
echo 'ERROR: '.$e->getMessage();
} 

您应该在这里了解更多关于pdo错误处理的信息:

如果您使用的是
pdo
,那么为什么您要在查询结束时使用
或die(mysql_error())
来处理错误

$showcom1 =  $db->query("select * from comments
                       where pc_active='no' order by p_id asc") or die
                       (mysql_error()); 
无论如何,我不知道您的目标是什么,但错误处理是使用try/catch块完成的,如下所示:

try{
$showcom1 =  $db->query("select * from comments
                           where pc_active='no' order by p_id asc"); 
}catch(PDOException $e){
echo 'ERROR: '.$e->getMessage();
}

如果您使用的是
PDO
,那么您为什么要在查询结束时使用
或die(mysql_error())
来处理错误呢

$showcom1 =  $db->query("select * from comments
                       where pc_active='no' order by p_id asc") or die
                       (mysql_error()); 
无论如何,我不知道您的目标是什么,但错误处理是使用try/catch块完成的,如下所示:

try{
$showcom1 =  $db->query("select * from comments
                           where pc_active='no' order by p_id asc"); 
}catch(PDOException $e){
echo 'ERROR: '.$e->getMessage();
}

上述方法与您的查询结合使用将起作用/给您一个人类可读的错误

您确定您使用的是
PDO
?您确定您使用的是
PDO