首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从postgre PDO返回多行

从postgre PDO返回多行
EN

Stack Overflow用户
提问于 2013-02-13 02:18:47
回答 2查看 1K关注 0票数 0

这个PHP语句没有返回任何结果。postgreSQL。我预计会看到几行。我做错了什么?如何检索它们并将它们放入对象或数组中?

代码语言:javascript
复制
$sth = $dbh->prepare('SELECT * FROM address');
$sth->execute();

$result = $sth->fetch(PDO::FETCH_ASSOC);
while($row = $sth->fetch()) {  
    echo $row['StreetAddress1'] . "\n";
} 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-13 02:20:33

假设结果集是一个堆栈,每个fetch()调用都从一个结果行中弹出。您在while循环之外调用了fetch一次,然后显然抛出了$result。这意味着一行结果数据消失了。至于将它们放入对象/数组中,这取决于您。可以像这样简单:

代码语言:javascript
复制
$addresses[] = $row['StreetAddress1']

在循环中。

任一

代码语言:javascript
复制
while($row = $sth->fetch()) {
   ...
}

-- or --

$rows = $sth->fetchAll();
foreach($rows as $row) {
    ...
}
票数 1
EN

Stack Overflow用户

发布于 2013-02-13 02:26:36

$result = $sth->fetchAll();

$result将是一个包含所有结果的数组。

然后使用foreach循环遍历。

foreach

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14839101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档