Foros del Web » Programando para Internet » PHP »

Manejar errores con php y mysql

Estas en el tema de Manejar errores con php y mysql en el foro de PHP en Foros del Web. Saludos, tengo una pequeña duda de como manejar los errores, con php y mysql, por ejemplo yo muestro un mensaje de error cuando hay algo ...
  #1 (permalink)  
Antiguo 04/01/2013, 20:49
 
Fecha de Ingreso: julio-2010
Mensajes: 158
Antigüedad: 13 años, 9 meses
Puntos: 3
Manejar errores con php y mysql

Saludos, tengo una pequeña duda de como manejar los errores, con php y mysql, por ejemplo yo muestro un mensaje de error cuando hay algo mal con la conexion:

Código:
if(!mysql(conexxion)){
 $error = 'Ocurrio un error con la conexion';
}
Hasta aquí todo bien pero supongamos que tengo que realizar varias operaciones, pero si ocurre un error, pues no es necesario continuar:

Código:
if(!mysql(sacar id_user de la tabla user)){
 $error = 'Ocurrio un error con la conexion';
}

if(!mysql(con el id_user consultar en la tabla friend y sacar e id)){
 $error = 'Ocurrio un error con la conexion';
}

if(!mysql(con el id de la tabla friend borrar id_user de la tabla user)){
 $error = 'Ocurrio un error con la conexion';
}


if(si se borro el user){
 hacer algo
}
else{
 hacer algo
}
en el caso anterior supongamos que ocurrio un error con la conexion desde el principio, entonces esta demas seguir haciendo las demas cosas, como le digo que ya no siga? Pense en este modo:


Código:
if(!mysql(sacar id_user de la tabla user)){
 $error = 'Ocurrio un error con la conexion';
}

if(empty($error)){
  if(!mysql(con el id_user consultar en la tabla friend y sacar e id)){
   $error = 'Ocurrio un error con la conexion';
  }
}

if(empty($error)){
  if(!mysql(con el id de la tabla friend borrar id_user de la tabla user)){
   $error = 'Ocurrio un error con la conexion';
  }
}

if(empty($error)){
  if(si se borro el user){
   hacer algo
  }
  else{
   hacer algo
  }
}
Pero como ven es repetir mucho la misma condicion, lo cual me lleva a preguntar que forma usan ustedes para este tipo de errores????????????? Saludos y gracias.
  #2 (permalink)  
Antiguo 04/01/2013, 20:58
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Manejar errores con php y mysql

En el caso de que ocurra un error en la conexión, lo compruebas así:

Código PHP:
Ver original
  1. $enlace =  mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');
  2.  
  3. if (!$enlace) {
  4.     die('No pudo conectarse: ' . mysql_error());
  5. }

die imprime un mensaje y termina el script actual. mysql_error() te indica que clase de error ocurrió.

Nota: La extensión Mysql es obsoleta.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #3 (permalink)  
Antiguo 04/01/2013, 21:02
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Manejar errores con php y mysql

bueno lo recomendable en estos momentos para trabajar con base de datos y php es PDO o mysqli puedes manejarlo a través de excepciones, si usas mysql_* (que esta tendiendo a desaparecer), siempre puedes hacer un mysql_error() que te devuelve el error correspondiente de mysql, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #4 (permalink)  
Antiguo 05/01/2013, 16:23
 
Fecha de Ingreso: agosto-2012
Ubicación: Galicia
Mensajes: 13
Antigüedad: 11 años, 8 meses
Puntos: 2
Respuesta: Manejar errores con php y mysql

y si pruebas:

Código:
if(mysql_connect($con))
{
        if(mysql_query(....))
       {
              .... aqui si quieres que se ejecuten mas consultas o cualquier accion ...              
       }
       else
       {
             .... error si falla la primera consulta por tanto no continua ... 
       }
}
else
{
      ... si entra aqui es que no se realizo la conexion por tanto ya no ejecuta nada mas ... puedes poner un die
}
Anidando los IF te aseguras de que no continue realizando operaciones, de todas formas, el tema de comprobar si se realizan todas las consultas, es que puedes detectar en que zona dio el error y solucionarlo en caso de ser por la programacion.

Etiquetas: errores, manejar, mysql, 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 07:42.