【问题标题】:How can I retrieve query results as array in PDO?如何在 PDO 中将查询结果作为数组检索?
【发布时间】:2015-08-16 00:44:27
【问题描述】:

我正在做一个小型 PHP 项目,我正在从 MySQLi 更改为 PDO,我现在也在使用准备好的语句。

我已成功连接到数据库并执行查询,但我想知道如何将结果作为数组检索?

我使用 MySQLi 中的 fetch_assoc() 函数来执行此操作,但现在我使用 PDO 和 Prepared 语句,我不知道如何完成此操作。

到目前为止我的代码...

    $res = $connection -> prepare("SELECT * FROM ad WHERE id = :id");
    $res -> bindValue(':id',$id);
    $res -> execute();

我听说过使用此代码,但它不起作用?

    $z= $res -> fetchAll(PDO::FETCH_ASSOC);
    $productname =  $z['productname'];

【问题讨论】:

  • fetchALL 返回索引为 0 - n 的结果数据数组。您可以在其中使用“productname”之类的密钥。

标签: php mysql arrays pdo mysqli


【解决方案1】:

$z 现在是一个多维数组,因此,如果您想访问第一行,您可以显式访问索引零:

echo $z[0]['productname'];

它应该看起来像这样:

Array
(
    [0] => Array // index zero
        (
            [id] => 1
            [productname] => productname 1 // sub index
        )
        // $z[0]['productname']
    [1] => Array
        (
            [id] => 2
            [productname] => productname 2
        )
        // $z[1]['productname']
    [2] => Array
        (
            [id] => 3
            [productname] => productname 3
        )
        // $z[2]['productname']
)

如果您想访问所有行集,只需使用好的 ol' foreach

foreach($z as $row) {
    echo $row['productname'];
}

【讨论】:

  • @HarisMahmood 很高兴这有帮助
猜你喜欢
  • 2020-09-04
  • 1970-01-01
  • 2023-03-30
  • 2016-07-23
  • 2023-04-10
  • 1970-01-01
  • 2020-08-22
  • 2018-01-27
  • 1970-01-01
相关资源
最近更新 更多