Skip site navigation (1) Skip section navigation (2)

Re: Atrapar los errores de Postgres de Referencias...

From: "Alex Barrios" <alexertech(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Atrapar los errores de Postgres de Referencias...
Date: 2006-06-28 13:22:17
Message-ID: 89a6c5120606280622n6623d1f5tc07ca0f200e3887d@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
On 6/28/06, Alvaro Herrera <alvherre(at)commandprompt(dot)com> wrote:
> Jaime Casanova escribió:
> > >
> > >Tengo una referencia entre la tabla ciudades y estados por medio del
> > >campo cod_estado. La referencia es la siguiente:
> > >
> > >FOREIGN KEY ciudad(cod_estado) REFERENCES estado(cod_estado)
> > >
> > ...
> > >
> > >Todo funciona perfecto, pero me aparece un feo error de postgres justo
> > >en el PHP indicando que se viola la clave.
> > >
> > >Quisiera atrapar este error, ver a que tabla se refiere, para asi
> > >poder convertir este error en un mensaje mas digerible visualmente
> > >para el usuario comun.
> >
> > que te parece
> >
> > CONSTRAINT "mensaje mas claro"
> >        FOREIGN KEY ciudad(cod_estado) REFERENCES estado(cod_estado);
>
> Yo creo que el problema no es ese, sino que PHP tira el mensaje completo
> de error hacia el browser.  El usuario recibe un mensaje horrible, que
> generalmente no esta dentro de las especificaciones de diseño grafico
> del sistema, puede estar en cualquier idioma y entregar informacion que
> podria ser considerada delicada (como el nombre de la tabla).
>
> Para evitar eso lo primero es desactivar esta "caracteristica" de PHP
> (mis saludos a los brillantes diseñadores de PHP).  Luego, capturas el
> error; el mensaje, la severidad, el SQLSTATE, etc.  Esto se puede hacer
> usando pg_result_error_field.  Captura el SQLSTATE y compara con un
> valor conocido.  Voila.
>
> Ahora, si esto no es a lo que el amigo Alex se refiere, creo que tendra
> que explicarse mucho mejor.
>
> Algo que no entenderia es que alguien se diera cuenta que su version de
> PHP no soporta pg_result_error_field y todavia quisiera seguir usando
> PHP ...
>
> --
> Alvaro Herrera                                http://www.CommandPrompt.com/
> PostgreSQL Replication, Consulting, Custom Development, 24x7 support
>

Era exactamente lo que necesitaba! aun asi estoy documentandome sobre
todo lo que mencionas... jejeje

Un millon de gracias!!!

-- 
Alex Barrios
www.alexertech.com
Usuario Linux #383172
Gentoo 2.6.16-gentoo-r9

In response to

pgsql-es-ayuda by date

Next:From: Edwin QuijadaDate: 2006-06-28 13:51:16
Subject: Re: Atrapar los errores de Postgres de Referencias...
Previous:From: Fernando AguadaDate: 2006-06-28 13:17:32
Subject: Consulta sobre el simbolo "\\"

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group