Foros del Web » Programando para Internet » PHP »

Validar integridad referencial (eliminacion de Fk)

Estas en el tema de Validar integridad referencial (eliminacion de Fk) en el foro de PHP en Foros del Web. Hola amigos, espero que esto vaya en php, ya que me imagino que quien es el que puede hacerlo. Estoy realizando un mantenedor de una ...
  #1 (permalink)  
Antiguo 17/02/2012, 01:25
 
Fecha de Ingreso: abril-2010
Mensajes: 112
Antigüedad: 14 años
Puntos: 2
Pregunta Validar integridad referencial (eliminacion de Fk)

Hola amigos, espero que esto vaya en php, ya que me imagino que quien es el que puede hacerlo.

Estoy realizando un mantenedor de una tabla que forma parte de un sistema, obviamente este puede eliminar, agregar y modificar los registros. Cuando dentro del sistema se está utilizando un registro de la tabla que quiero modificar, y lo está relacionado mediante una llave foránea, es lógico que al querer eliminar tal registro que está siendo referenciado aparece el error "Cannot delete or update a parent row: a foreign key constraint fails (...:" Pues mi duda es la siguiente

¿Es posible validar para que no aparezca ese error sino que algo más agradable para el usuario, que redirecccione a la página procedente o muestre una página de error más agragdable?

Saludos.
  #2 (permalink)  
Antiguo 17/02/2012, 01:27
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Validar integridad referencial (eliminacion de Fk)

Las funciones mysql_errno y mysql_error te devuelven el código y el mensaje de error de la última operación. Utilizalas para capturar el error y redireccionar a donde tú quieras. También puedes usar Exceptions pero por ahora te recomiendo lo primero.
Saludos,
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 17/02/2012, 01:36
 
Fecha de Ingreso: abril-2010
Mensajes: 112
Antigüedad: 14 años
Puntos: 2
Respuesta: Validar integridad referencial (eliminacion de Fk)

Hola, muchas gracias por tu rápida respuesta.
Se me ocurrió poner codigo javascript al momento de realizar un error y funcionó a la perfección.

Código PHP:
Ver original
  1. mysql_query($sql) or exit("<script> alert('No puede eliminar este registro, está siendo utilizado por el sistema'); history.back(); </script>");

Etiquetas: eliminacion, integridad, referencial, registro, tabla, usuarios
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 18:48.