Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/05/2008, 08:52
Avatar de JuanKa
JuanKa
 
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 20 años, 6 meses
Puntos: 1
Duplicate key de dos campos

Buenas tardes a todos, por aca nuevamente; el problema es el siguiente :


En una tabla usuarios tengo como clave primaria ID y como campos de tipo UNIQUE el USUARIO y EMAIL.

Todo lo registro correctamente pero cuando ingreso un usuario o un email que ya esta registrado en la TABLA USUARIOS, me sale el erro de DUPLICATE KEY.

ERROR 1062 Duplicate entry 'xxxxxxxxxxx' for key 1 //Para el USUARIO
ERROR 1062 Duplicate entry 'yyyyyyyyyyy' for key 3 //Para el EMAIL


Ahora este error lo controlo con el error 1062 hasta aqui todo bien, pero quisiera saber EXACTAMENTE como puedo controlar cuando el usuario existe o el email existe, es decir, actualmente lo tengo de la siguiente manera:

if ($codigo_error == 1062 )
{
echo "Puede ser que el USUARIO o el EMAIL ya esten registrados"
}
else
{
insert into .......
}

Como vosotros lo veis, el cliente que se inscribe no sabe si el usuario que esta ingresando, ya existe, o el correo ya existe, por eso quisiera personalizarlo.


El problema es que desconozco como condicionar el if

Quisiera hacerlo mas personalizado de la siguiente manera

if ($codigo_error == 1062 && USUARIO)
{
...echo "El USUARIO ya esta registrado, ingrese otro usuario";
}
else
{
.....if ($codigo_error == 1062 && EMAIL)
.....{
........echo "El EMAIL ya esta registrado, ingrese otro email";
......}
......else
......{
......... insert into .......
.......
.......}
}
Espero haberme dejado entender.

Saludos a todos.