我正在做一个小型 PHP 项目,我正在从 MySQLi 更改为 PDO,我现在也在使用准备好的语句。
我已成功连接到数据库并执行查询,但我想知道如何以数组形式检索结果?
我在 MySQLi 中使用 fetch_assoc() 函数来执行此操作,但现在我使用 PDO 和 Prepared statements,我不知道如何完成此操作。
到目前为止我的代码...
$res = $connection -> prepare("SELECT * FROM ad WHERE id = :id");
$res -> bindValue(':id',$id);
$res -> execute();
我听说过使用此代码但它不起作用?
$z= $res -> fetchAll(PDO::FETCH_ASSOC);
$productname = $z['productname'];
最佳答案
$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'];
}
关于php - 如何在 PDO 中将查询结果检索为数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30592443/