PDO循环通过并打印FetchAll
从fetchAll获取要选择性打印的数据时遇到问题。
在正常的MySQL中,我是这样做的:
$rs = mysql_query($sql);
while ($row = mysql_fetch_array($rs)){
$id = $row['id'];
$n = $row['n'];
$k = $row['k'];
}
在PDO中,我遇到了麻烦。我绑定了参数,然后像上面一样将获取的数据保存到$rs中,目的是以相同的方式循环访问它。
$sth->execute();
$rs = $query->fetchAll();
现在麻烦来了。我应该怎么做PDO才能获得与上面的While循环匹配的内容?!我知道可以使用printr()或dump_var,但这不是我想要的。我需要做我过去使用常规MySQL所能做的事情,比如根据需要分别获取$id、$n、$k。有可能吗?
提前谢谢..
解决方案
应为
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
$id = $row['id'];
$n = $row['n'];
$k = $row['k'];
}
如果您坚持fetchAll
,那么
$results = $query->fetchAll(PDO::FETCH_ASSOC);
foreach($results as $row) {
$id = $row['id'];
$n = $row['n'];
$k = $row['k'];
}
PDO::FETCH_ASSOC
仅提取列名并省略数字索引。
相关文章