• Lunes 23 de Diciembre de 2024, 00:21

Autor Tema:  Ayuda Query Simple En Mysql  (Leído 1179 veces)

yaG

  • Miembro activo
  • **
  • Mensajes: 46
    • Ver Perfil
Ayuda Query Simple En Mysql
« en: Jueves 25 de Enero de 2007, 16:19 »
0
Buenas,
les explico mi problema, lo cual debe ser algo muy simple...
Estoy haciendo un alta de registraciòn de usuarios y quiero validar que el usuario no pueda ser dado de alta si ya existe el nick ingresado.
Utilizo el siguiente còdigo:

<?
require("funciones.php");
?>

<?
$conexion=Conectar('localhost','root','','3t'); //funcion propia para conectarme y seleccionar la BD

$nick=$_POST[txtNick];
$nombre=$_POST[txtNombre];
$apellido=$_POST[txtApellido];
$equipo=$_POST[txtEquipo];
$pass=$_POST[txtPass];
$pass2=$_POST[txtPass2];
$mail=$_POST[txtMail];


//valido el ingreso de password
if($pass!=$pass2){
   echo "La confirmación no coincide con la password ingresada.";?> <br> <?
   echo "Por favor ingresala nuevamente.";
}else{//valido que no exista nick duplicado
   $duplicado=mysql_query("SELECT * FROM USUARIOS WHERE nick = '$nick'",$conexion);   
   if($duplicado==FALSE){
      $sql="INSERT INTO USUARIOS (nick, nombre, apellido, equipo, password, mail)";
      $sql.=" VALUES ('$nick','$nombre','$apellido','$equipo','$pass','$mail')";
      $bPude=mysql_query($sql,$conexion);
      if($bPude){echo "El usuario fue registrado correctamente.";}
   }else{
      echo "El nombre de usuario ingresado ya esta registrado, por favor ingrese uno nuevo.";
   }
}
mysql_free_result($duplicado);
mysql_close($conexion);
?>

Bueno cuando hago SIEMPRE me devuelve en $duplicado el resource id #4. Sea cual sea el nick que haya ingresado dice q me lo encuentra en el resource #4. Cuando la tabla "USUARIOS" se encuentra vacìa, o sea tiene 0 registros... No logro entender en que estoy fallando.
Agradeceria si alguien pudiera darme una mano con esto.
Saludos.
[size=109]Antes de preguntar recuerda el concepto GIYF. Google is your friend.[/size][/u]

Avalon

  • Miembro MUY activo
  • ***
  • Mensajes: 448
    • Ver Perfil
Re: Ayuda Query Simple En Mysql
« Respuesta #1 en: Jueves 25 de Enero de 2007, 16:32 »
0
Hola. Para que funcione deberías hacer un cambio en tu código.

En lugar de

Código: Text
  1. if(&#036;duplicado==FALSE){
  2.  

deberías poner por ejemplo

Código: Text
  1. if(!mysql_num_rows(&#036;duplicado)){
  2.  


La función mysql_query solo va a retornar FALSE si se produce un error en la consulta. Si se ejecuta correctamente va a retornar un nuevo identificador, aunque no haya encontrado ningún registro que cumpla la condición. Por tanto lo que debes comprobar es si ha retornado registros y no si ha retornado FALSE.


Espero que te sirva ;)

Salu2,
Avalon

yaG

  • Miembro activo
  • **
  • Mensajes: 46
    • Ver Perfil
Re: Ayuda Query Simple En Mysql
« Respuesta #2 en: Jueves 25 de Enero de 2007, 16:59 »
0
Si, me sirviò!

Muchas gracias, yo pensaba que me devolvìa FALSE si no me encontraba registros con la consulta... Gracias again! :)
[size=109]Antes de preguntar recuerda el concepto GIYF. Google is your friend.[/size][/u]