Foros del Web » Programando para Internet » PHP »

Personalizar mensajes de error

Estas en el tema de Personalizar mensajes de error en el foro de PHP en Foros del Web. Hola amigos, como se puede capturar el error en mysql por ejemplo me muestra un error que me pase de la longitud del campo de ...
  #1 (permalink)  
Antiguo 20/08/2011, 09:32
 
Fecha de Ingreso: marzo-2009
Mensajes: 356
Antigüedad: 15 años, 9 meses
Puntos: 7
Personalizar mensajes de error

Hola amigos, como se puede capturar el error en mysql

por ejemplo me muestra un error que me pase de la longitud del campo de la tabla.

como puedo capturar y mostrar un mensaje personalizado por mi "longitud excedida " por ejemplo.

Gracias.
  #2 (permalink)  
Antiguo 20/08/2011, 10:03
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años, 2 meses
Puntos: 74
Respuesta: Personalizar mensajes de error

Cita:
Hola amigos, como se puede capturar el error en mysql
mysql_error()

Cita:
como puedo capturar y mostrar un mensaje personalizado por mi "longitud excedida " por ejemplo.
Código PHP:
Ver original
  1. mysql_query(...tu consulta...) or die('tu mensaje personalizado de error.');
  #3 (permalink)  
Antiguo 20/08/2011, 10:25
 
Fecha de Ingreso: marzo-2009
Mensajes: 356
Antigüedad: 15 años, 9 meses
Puntos: 7
Respuesta: Personalizar mensajes de error

claro OR DIE si lo se usar, pero osea quisiera personalizarlos , xq ai me sale el error de mysql, y nadie entenderia ese error.

quisiera personalizarlos a mi gusto.

se puede ?
  #4 (permalink)  
Antiguo 20/08/2011, 10:53
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años, 2 meses
Puntos: 74
Respuesta: Personalizar mensajes de error

Veamos,

¿Quieres qué cuando se inserte un registro por ejemplo te muestre un mensaje de exito y en caso contrario un mensaje de error?
Para eso cuando haces tu query puedes usar las sentencias if.

Por otro lado, ¿quieres que cuando haya algun problema con tu mysql en vez de mostrarte el verdadero error, puedes personalizar tu ese error?

Pues para eso usar or die como te dije:

Código PHP:
Ver original
  1. mysql_query(...tu consulta...) or die('Ups, algo ha fallado');

  #5 (permalink)  
Antiguo 20/08/2011, 19:16
 
Fecha de Ingreso: marzo-2009
Mensajes: 356
Antigüedad: 15 años, 9 meses
Puntos: 7
Respuesta: Personalizar mensajes de error

quiero personalizar los errores
- excedio la longitud del campo
- ya existe el usuario (xq es UNIQUE en mysql)
- Aveces sale error con las FK, que llama a una que no existe.

cosas asi, quiero personalizarlas

xq facilmente asi como lo dices tu, agarro y a todos los errores lo englobo y pongo "oops error en mysql, nose de q pero error..." . esa no es la idea xq el usuario q la usa no sabe xq manda el error
  #6 (permalink)  
Antiguo 21/08/2011, 07:56
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años, 2 meses
Puntos: 74
Respuesta: Personalizar mensajes de error

Cita:
- ya existe el usuario (xq es UNIQUE en mysql)
Tienes dos maneras de hacerlo. Como te dije más arriba usando sentencias if.

Por ejemplo:

Código PHP:
Ver original
  1. $consulta= mysql_query("SELECT .........");
  2. if(mysql_num_rows($consulta)>0) {
  3. echo "Ya existe";
  4. }else{
  5. echo "No existe";  
  6. }

Ese ejemplo podría estar consultando una tabla de usuarios donde comprueba si X usuario existe o no...

Luego, tienes otra manera de hacerlo que sería usando mysql_errno(), la cual, esta función te devolvería un mensaje de error pero con un valor númerico y ya luego tu, sabiendo que error es mediante sentencias if (de nuevo) puedes hacer por ejemplo:

Código PHP:
Ver original
  1. if(mysql_errno() == 10) {
  2. echo "tu mensaje personalizado";
  3. }

Un saludo,

Etiquetas: mensajes, mysql, personalizar, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:32.