-1

我正在尝试列出表中两个特定列的数据。每当我转到该文件时,它都会返回一个服务器错误。当我删除 while 循环时,它执行得很好,所以我不知道我做错了什么。

这是错误:

服务器错误 网站在检索http://dayzlistings.com/reg-whitelist.php时遇到错误 。它可能因维护而停机或配置不正确。以下是一些建议: 稍后重新加载此网页。HTTP 错误 500(内部服务器错误):服务器尝试完成请求时遇到了意外情况。

try {
    $dbh = new PDO('mysql:host=localhost;dbname=dbname','dbuser','dbpass');
            $sql = "SELECT * from wp_cimy_uef_data";
            $q = $dbh->prepar($sql);
            $q->execute();
                while($row = $q->fetchall() {
                    echo $row['USER_ID'];
                    echo $row['VALUE'];
                }
    }
$dbh = null;
} catch (PDOException $e) {
    print "Error from Dedicated Database!: " . $e->getMessage() . "<br/>";
    die();
}
4

2 回答 2

0

不是fetchAll()将整个表作为数组返回吗?

你不需要 while 循环 $row .. 只需不$row = $q->fetchAll()使用 while 和 print_r 整个数组,看看你得到了什么..

如果你还想在我认为你可以使用的时候做

while($row = $q->fetch()){
//  rest of the code here
}

你也不能在 try catch 之间放任何东西。

try{
//code
}
$dbh = null; //**This is not allowed by the way...**
catch(PDOException $e){
  //code

}

丁斯

于 2013-02-10T01:40:51.730 回答
0

500 表示当您与服务器交互时出现问题,例如访问数据库。并且$row['USER_ID']永远不会工作,而是应该使用$row[0]['USER_ID'].

于 2013-02-10T04:16:50.430 回答