Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

Duda con php

zaidner

Bovino adicto
Desde
20 Feb 2010
Mensajes
687
Hola que tal bakunos, esta vez vengo a que me echen la mano(sin albur xD ), bueno al grano, estoy creando una pagina con base de datos, pero el problema radica en que al momento que se registren y bueno si el nombre de usuario ya existe que le indique al usuario con un mensaje que ese nombre ya esta en uso, pero al momento de enviar los datos me marca este error:

Warning: mysql_num_rows() expects parameter 1 to be resource

y aca les dejo el codigo:

include ("conexion.php");

$nombre = htmlentities ($_POST['nombre_txt']);
$usuario = htmlentities ($_POST['usuario_txt']);
$email = htmlentities ($_POST['email_txt']);
$password = htmlentities ($_POST['password_txt']);
$cpassword = htmlentities ($_POST['passwordc_txt']);
$sexo = htmlentities ($_POST['sexo_slc']);
$nacimiento = htmlentities ($_POST['nacimiento_txt']);

if($password!=$cpassword) {
echo "Las contraseñas no coinciden";
}
else{

$seleccion = "SELECT * FROM usuarios WHERE usuario = '$usuario'";
$revisar = $conexion->query($seleccion);
$username_exist = mysql_num_rows($revisar); //aqui me indica que esta el error

if ($username_exist>0) {
echo "EL nombre de usuario o la cuenta de correo estan ya en uso";
}else{
$consulta = "INSERT INTO usuarios (nombre, usuario, email, password, sexo, nacimiento ) VALUES
('".$nombre."', '".$usuario."', '".$email."', '".$password."', '".$sexo."', '".$nacimiento."')";

$ejecutar_consulta = $conexion->query($consulta);

echo "El usuario $usuario ha sido registrado de manera satisfactoria.";
}
}


les agradeceria bastante que me mencionaran donde se encuentra el error :D
 
Revisa tu consulta. Asegúrate que $revisar este recibiendo valores.
 
creo que deberias de cambiar $revisar por $usuario ya que $revisar no esta reciviendo ningun valor en tu base de datos o serciorate duplicar la tabla al momento de la creacion
 
$seleccion = "SELECT * FROM usuarios WHERE usuario = '$usuario'";
$revisar = $conexion->query($seleccion);
$username_exist = mysql_num_rows($revisar); //aqui me indica que esta el error
Es el codigo tal cual?
Prueba (sin albur) $seleccion="SELECT * FROM usuarios WHERE usuario= ' ".$usuario." ' ";
(atencion separe las comillas para que puedas distinguirlas)
sino jala avisas y seguimos checando
 
haber releyendo tu codigo creo que te deberia quedar de la siguiente manera

$revisar = mysql_query("select count(*) as total from usuarios where usuario='$usuario'") or die(mysql_error());
list($total) = mysql_fetch_row($revisar);

checa por aqui andaremos cualquier cosa
 
aa ok, si tu defines usuario = ' $usuario ' le estas diciendo que $usuario es una cadena, literalmente...
Lo que debes hacer es poner en tu caso usuario = '" . $usuario . "'

Esto es porque vas a concatenar un valor string a tu consulta, primero las comillas simples que dicen sera un string tu valor, despues las dobles para concatenar el valor de $usuario.

Salu2
 
Volver
Arriba