> On Friday 05 November 2004 20:40, ljb wrote:
>> ff(at)dr(dot)ufu(dot)br wrote:
>> > Hi,
>> > I am having a problem with a system I developed using php with
>> > postgres. ...
>> > I am not able to get a error_number in pgsql errors, only the error
>> > message. So when I used pgsql 7.3 a used the string "referential
>> > integrity violation" to detect this error, but on version 7.4 of pgsql
>> > this string was replaced with "violates foreign key constraint" .
>> > Anyone has a definitive solution on this or the way is to wait and change
>> > all my code on future releases of pgsql?
>> Unfortunately this is a limitation of the PHP PostgreSQL extension.
>> PostgreSQL provids access to error numbers (I think as of 7.4)
>> through libpq PQerrorField(), but PHP doesn't give you access to this yet.
> Actually I believe you can get it:
> though this will only work in pg74 or greater.
No, I don't think PHP has this capability (get the value of an error
message subfield). The pg_result_error() you refer to gives you the whole
message, which makes it hard for a program to determine exactly what went
On the documentation page you point to, somebody added a comment
referencing his own patch. The patch adds a PHP function called
pg_result_error_field(), which lets a script get at the individual
PostgreSQL error message fields. This would be a nice addition to PHP, but
I don't know if the patch was submitted or accepted. It isn't in the latest
PHP 4 release, 4.3.9. As you point out, however, it won't help the original
poster still dealing with PostgreSQL 7.3, which doesn't have this feature.
In response to
pgsql-php by date
|Next:||From: SZŰCS Gábor||Date: 2004-11-11 11:18:12|
|Subject: Re: [Plphp] Re: plPHP and PostgreSQL 7.4.1|
|Previous:||From: Robert Treat||Date: 2004-11-06 15:37:49|
|Subject: Re: sql problem with php|