2017-03-14 8 views
0

私はエラーを取得しています実行Posgresクエリ:foreachのために供給無効な引数()

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

クエリhttp://php.net/manual/en/pdo.query.php 例に従うことをしようと

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

と接続し、実行しています:

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

ここで何が間違っていますか?

+1

@JayBlanchardいいえ、あなたは、マニュアルにも書かれています。この場合、明らかに 'query()'はpdo文の代わりに 'false'を返します。 –

+0

Yikes @u_mulder - それはちょっと悪い考えです。 –

答えて

1

As manual says

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

それはあなたのクエリが何らかの障害によりfalseを返していることが非常に可能性です。 PostgreSQLの接続を確認し、PostgreSQL(PGAdmin)で直接クエリを実行してみてください。

+0

確かに、それは悪いクエリでした、ありがとう! –

関連する問題