使用PDO运行Posgres查询:为foreach()提供的参数无效

时间:2017-03-14 18:05:08

标签: php postgresql pdo

尝试按照http://php.net/manual/en/pdo.query.php中的示例进行操作 并与

连接
$dbh = new PDO('pgsql:host=localhost;port=5432;dbname=example;user=postgres');

并运行查询

foreach ($dbh->query('SELECT * from Animals') as $row) {
  print $row;
}

我收到错误:

  

警告:在第13行的/Users/zaitsev/tests/pg-php/pdo-test.php中为foreach()提供的参数无效

这里有什么问题?

1 个答案:

答案 0 :(得分:1)

As manual says

PDO::query() returns a PDOStatement object, or FALSE on failure.

您的查询很可能因某些失败而返回false。确保你的PostgreSQL连接并尝试直接在PostgreSQL(PGAdmin)上执行你的查询。