を返していないながら、私はいくつかのレガシーPHPコードを更新し、いくつかのまともなエラーログを取得しようとしている、コンソールに直接行きます。 pg_last_errorは何も返さないながらもかかわらず(、pg_queryエラーがpg_last_errorは何も
private function dbQuery($sql) {
if (DEBUG) print("\n" . $sql . "\n");
$result = pg_query($this->dbh, $sql);
if ($result == FALSE) print("DB Error: " . pg_last_error($this->dbh) . "\n");
return $result;
}
しかし、少なくとも一つの場合には、エラーが(PHPの警告として)全て自身でコンソールに表示されている:DBへのすべての呼び出しは、今、この機能を経ますpg_query呼び出しの結果はFALSEです)。実際の出力:
insert into pull_count (show_pull_item_id, count_pulled, created, modified) values (1076028, 1, NOW(), NOW())
PHP Warning: pg_query(): Query failed: ERROR: permission denied for relation pull_count in /var/www/html/src/backend/engine.php on line 1740
DB Error:
そして、私たちが再びpg_last_error()を呼び出す呼び出し関数では、何も得られません。
そう...契約は何ですか?なぜエラーはpg_last_errorではなくコンソールに送られますか?どうすれば修正できますか?
詳しい調査はそれが権限エラーとは何の関係もないことを示しています...私のクエリ文字列がまったく誤りが含まれている場合、私は同じ結果を得る:コンソールでのPHPの警告、およびpg_last_errorからまったく何も() 。この動作に影響を与える設定がありますか? –