PHP Fetchall 只返回列标题

标签 php mysql pdo

我有一个数据库,我正在尝试查询该数据库以获取要显示给用户的信息。我用过

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 只返回列标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25439873/

相关文章:

mysql - 如何对行组执行 'WHERE'?

php - PDO 不适用于 SSL

php - 统计查询结果,根据结果显示信息,点击按钮后使用ajax刷新页面显示信息

php - 在 php 中制作 H2-H3 元素列表

php - $_GET 未定义索引(来自 mysql 表的值)

PHP 数据库不工作

php - 如何在 id= 处插入图像名称? ...在 mySQL [PHP] 中

php - 使用if语句向数据库中插入数据

php - Laravel 5.3 删除了 onPage 测试方法吗?

php - 如何使用 PHP SQL 解析器将数组值转换为 MySQL 查询?