pg_last_error() doesn't return connection errors

From: Frank Naude <naudefj(at)gmail(dot)com>
To: pgsql-php(at)postgresql(dot)org
Subject: pg_last_error() doesn't return connection errors
Date: 2010-08-26 11:44:44
Message-ID: AANLkTikUeGfaaOwsDav2GyD=tq7__70jQT_G4KhQbA8n@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-php

Hi,

I can successfully connect to PostgreSQL (pgsql extension). However,
when I make a deliberate mistake, I'm unable to capture the connection
error with pg_last_error() as one would with the *_last_error()
functions of other database extensions.

Here is an example:

<?php
$c = pg_connect('host=127.0.0.1 user=postgres password=xxx
dbname=yyy') or var_dump( pg_last_error() );
?>

The following output (with warnings) is returned:

Warning: pg_connect() [function.pg-connect]: Unable to connect to
PostgreSQL server: FATAL: password authentication failed for user
"postgres" in ..
Warning: pg_last_error() [function.pg-last-error]: No PostgreSQL link
opened yet in ...
bool(false)

One would expect pg_last_error() to return "password authentication
failed" instead of FALSE!

Best regards.

Frank

Responses

Browse pgsql-php by date

  From Date Subject
Next Message Andrew McMillan 2010-08-26 22:44:33 Re: pg_last_error() doesn't return connection errors
Previous Message Chris 2010-07-27 23:27:50 Re: Arrays and PDO