Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: yaG en 25 Enero 2007, 16:19 pm



Título: Ayuda query simple en mysql
Publicado por: yaG en 25 Enero 2007, 16:19 pm
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.


Título: Re: Ayuda query simple en mysql
Publicado por: alone-in-the-chat en 25 Enero 2007, 16:24 pm
usa
Código:

   $duplicado=mysql_query("SELECT * FROM USUARIOS WHERE nick = '$nick'",$conexion);   
   if(mysql_num_rows($duplicado) > 0)
     

Saludos.
PD.
Leete la documentacion y revisa los valores de retorno del mysql_query


Título: Re: Ayuda query simple en mysql
Publicado por: yaG en 25 Enero 2007, 16:59 pm
me sirvio, muchas gracias!!

Pense que si no encontraba nada me devolvìa directamente FALSE y por eso lo implemente de esa manera...
pero al final el false lo devuelve 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.

Gracias nuevamente!