【发布时间】:2014-05-28 22:32:34
【问题描述】:
我知道如何获取 PDO 数组,但我如何像使用 MySQLi 的 fetch_array 一样从中收集数据?
例如,
MySQLi
$query = $mysqli->query("SELECT * FROM `foo` WHERE `ID`='1'");
$array = $query->fetch_array();
得到结果
echo $array['bar'];
您将如何使用 PDO 做到这一点?我知道你可以这样做:
PDO
$query = $pdo->prepare("SELECT * FROM `foo` WHERE `ID`='1'");
$query->execute();
$result = $query->fetchAll();
得到结果
echo $result['bar'];
返回的结果与 MySQLi 不同
我是不是做错了什么,有没有办法做到这一点?
【问题讨论】:
-
读取
fetch_style参数 php.net/manual/en/pdostatement.fetch.phpPDO::FETCH_ASSOC返回一个数组,该数组由结果集中返回的列名索引 -
你必须明白,
fetch_array()遍历整个结果集并一次返回一行,fetchAll()返回整个结果集。改为:$query->fetch(PDO::FETCH_ASSOC) -
感谢您的指导。
-
我记得在我的 PHP 时代你可能会发现有用的事情是使用
print_r()和/或var_dump()来预测 PHP 向你抛出的经常记录不充分的数据结构。 -
@tgies:这里没有什么记录不好。第一个评论者的链接指向正确的文档。
标签: php mysql arrays pdo mysqli