PHP Fetchall仅返回列标题
我有一个数据库,我正试图查询,以获得信息显示给我的用户。我用过PHP Fetchall仅返回列标题,php,mysql,pdo,Php,Mysql,Pdo,我有一个数据库,我正试图查询,以获得信息显示给我的用户。我用过 fetch(PDO::FETCH_ASSOC) 在检索单行或行之前 $row = mysql_fetch_array($result) 取得了良好的效果。然而,我的理解是,使用PDO是更好的实践,所以这就是我正在尝试做的 我遇到的问题是,我的结果只显示了我需要的第一行数据。在本例中,它一遍又一遍地显示列标题,从不给我数据 $stmt = $conn->prepare("SELECT ? FROM application")
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
很高兴您知道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
}
根据php文档
顺便说一下,您必须使用
fetchAll
,而不是fetchAll
。我花了大约2个小时来寻找这个问题的解决方案。所以,如果这是已经存在的或者非常简单的事情,那么我道歉。谢谢你的帮助,非常感谢。在本例中,您所说的不必使用prepared语句是有道理的。你能告诉我,如果我是的话,我怎样才能完成这项工作吗?我感觉我需要在绑定中使用一个输出参数。是吗?不客气。如果您要传递一个参数,您将执行如下操作$stmt=$conn->prepare(“SELECT*FROM-application-WHERE-id=:id”)
然后将参数作为$stmt->bindParam(':id',$id)传递然后执行它$stmt->execute()
。