doupengxie4195 2017-03-14 18:05
浏览 441
已采纳

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

Trying to follow the example in http://php.net/manual/en/pdo.query.php and connecting with

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

and running query

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

I am getting the error:

Warning: Invalid argument supplied for foreach() in /Users/zaitsev/tests/pg-php/pdo-test.php on line 13

What is wrong here?

  • 写回答

1条回答 默认 最新

  • drqwbh2150 2017-03-14 18:15
    关注

    As manual says:

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

    It's very probable that your query is returning false by some failure. Ensure your PostgreSQL connection and try out execute your query directly on PostgreSQL (PGAdmin).

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?