我有一个数据库,我正在尝试查询以获取要显示给我的用户的信息。我用过
fetch(PDO::FETCH_ASSOC)
检索单行或之前的
$row = mysql_fetch_array($result)
效果很好。但是,我的理解是使用PDO是更好的做法,这就是我想要做的事情。
我遇到的问题是我的结果只显示了我需要的第一行数据。在这种情况下,它一遍又一遍地显示列标题,从不给我数据。
$stmt = $conn->prepare("SELECT ? FROM application");
$stmt->bindparam(1, $application_ID);
$stmt->execute();
$results = $stmt->fetchall(PDO::FETCH_ASSOC);
foreach($results as $row){
echo $row['application_ID'];
}
以下是结果
application_IDapplication_IDapplication_IDapplication_ID
答案 0 :(得分:1)
很高兴你知道MySQL已经被弃用了,现在我们应该使用MySQLi或更好的PDO。
由于您不接受任何用户输入,因此无需使用预先准备好的声明。
只需这样做:
$stmt = $conn->query("SELECT * FROM application");
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach($results as $row){
echo $row['application_ID'];
//output other rows here
}
答案 1 :(得分:0)
根据php文档pdo::fetchAll
您必须使用fetchAll
,而不是fetchall
。