这个PHP postgreSQL PDO语句没有返回任何结果。我希望看到几行。我做错了什么?如何检索它们并将它们放入对象或数组中?
$sth = $dbh->prepare('SELECT * FROM address');
$sth->execute();
$result = $sth->fetch(PDO::FETCH_ASSOC);
while($row = $sth->fetch()) {
echo $row['StreetAddress1'] . "\n";
}
答案 0 :(得分:1)
将结果集视为堆栈,并且每个fetch()调用都会弹出结果行。您已经在while循环的OUTSIDE中调用了fetch,然后显然抛弃了$ result。这意味着一行结果数据消失了。至于将它们放入一个物体/阵列中,这取决于你。可以这么简单:
$addresses[] = $row['StreetAddress1']
在循环中。
或者
while($row = $sth->fetch()) {
...
}
-- or --
$rows = $sth->fetchAll();
foreach($rows as $row) {
...
}
答案 1 :(得分:0)