我正在尝试列出表中两个特定列的数据。每当我转到该文件时,它都会返回服务器错误。当我删除while循环时,它执行得很完美,所以我不知道我做错了什么。
这是错误:
服务器错误网站在检索时遇到错误 http://dayzlistings.com/reg-whitelist.php。它可能会失败 维护或配置不正确。以下是一些建议: 稍后重新载入此网页。 HTTP错误500(内部服务器错误):An 服务器尝试时遇到意外情况 满足要求。
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();
}
答案 0 :(得分: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
}
DINS
答案 1 :(得分:0)
500意味着错误,例如访问数据库。
并且$row['USER_ID']
永远不会有效,相反,您应该使用$row[0]['USER_ID']
。