Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] alerta sobre foreign key constraint

Estas en el tema de alerta sobre foreign key constraint en el foro de PHP en Foros del Web. hola a todos quisiera saber como debo programar un error de foreign key constraint, lo que quiero hacer es que salga un error al usuario ...
  #1 (permalink)  
Antiguo 11/07/2013, 18:00
Avatar de leo_garay91  
Fecha de Ingreso: mayo-2012
Ubicación: argentina
Mensajes: 51
Antigüedad: 11 años, 11 meses
Puntos: 0
alerta sobre foreign key constraint

hola a todos quisiera saber como debo programar un error de foreign key constraint,
lo que quiero hacer es que salga un error al usuario cuando quiera borrar un registro el cual es fk en otra tabla. un alerta algo asi como "No puede haber borrar el registro porque esta siendo utilizado en otra seccion".
desde ya muchas gracias
  #2 (permalink)  
Antiguo 11/07/2013, 20:46
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: alerta sobre foreign key constraint

captura el error y verifica si en el texto que traes tienes el problema por el foreign key, si es así simplemente lanzas el error que quieres que muestre al usuario
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 12/07/2013, 04:42
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: alerta sobre foreign key constraint

En primer lugar define la FK como ON DELETE RESTRICT asi al intentar ejecutar la query DELETE si retorna falso debería ser por la restricción con lo que ya puedes avisar al usuario.

Ademas la propia bbdd te asegura que nunca se va a borrar.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #4 (permalink)  
Antiguo 12/07/2013, 17:10
Avatar de leo_garay91  
Fecha de Ingreso: mayo-2012
Ubicación: argentina
Mensajes: 51
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: alerta sobre foreign key constraint

Cita:
Iniciado por quimfv Ver Mensaje
Ademas la propia bbdd te asegura que nunca se va a borrar.
si el SGBD no me va a permitir eliminarla, en caso de intentar eliminarla me saldra el error indicando que no se puede eliminar foreign key constraint etc etc. lo que necesitaba es que cuando ocurra este error se envie un mensaje que el usuario pueda entender.


Cita:
Iniciado por carlos_belisario Ver Mensaje
captura el error y verifica si en el texto que traes tienes el problema por el foreign key, si es así simplemente lanzas el error que quieres que muestre al usuario
si lo que hice fue usar try catch de la siguiente manera
Código PHP:
try{

        
$consulta="DELETE FROM n2gtb_gest_articulo WHERE id_articulo = $id"
                
        
$sql=mysql_query($consulta,$con);

            if (
$sql==TRUE ){
                 
header("location:$pag");
            }else  {
                
$mensaje  "";
                
//$mensaje  .= 'Consulta no válida: ' . mysql_error() . "\n\n-----\n";
                      //$mensaje .= 'Consulta completa: ' . $sql;        
                
                
throw new Exception($msj.'<br>'.$mensaje);
           }
   }catch(
Exception $e){
            echo 
'<p><fieldset> <br>'.$e->getMessage().'<a href="'.$pag.'" ><input type="button" value="Cancelar"></a></fieldset>';
        }


Etiquetas: alerta, constraint, key, registro, 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 15:28.