Tema: Error MySQL
Ver Mensaje Individual
  #8 (permalink)  
Antiguo 26/05/2011, 16:22
iovan
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: Error MySQL

En este if hay una contradicción.

Código PHP:
Ver original
  1. $emailcheck = mysql_query("SELECT * FROM wqw_users WHERE email='$email' AND banned=0") or die("status=Error&strReason=" . mysql_error());
  2.  if (mysql_num_rows($emailcheck) != 0) {
  3.      die("Sorry, This Email has already been used.");
  4.  }

En la linea 151, donde validas el genero del usuario, veo 2 consultas sql, 1 de ellas es innecesaria ya que estás registrando los mismas variables, recuerda que son las variables las que toman diferentes valores.

El problema principal esta en la linea 7 de tu segundo post.

Código PHP:
Ver original
  1. $usersql = mysql_query("SELECT id FROM wqw_users WHERE username='$username'") or die ("Query failed with error: ".mysql_error());
  2.     $userquery = mysql_fetch_array($usersql);
  3.     $userid = $userquery["id"];

Ya estas realizando una búsqueda en la DB sin asegurarte antes que realmente el usuario completo su registro.

Observa primero que nada

1.- Validas que el usuario haga submit en el formulario, de lo contrario se ejecuta el archivo PHP con solo entrar en el a través del navegador.

2.- Válidas con IF que se haya realizado el registro de este usuario en la DB, de ser así, lo buscas de la forma que lo estas haciendo y obtienes su ID.


3.- Aunque PHP debería trabajar muy bien con el tipo de consulta SQL que manejas, lo correcto es de ésta manera:

Código SQL:
Ver original
  1. mysql_query("SELECT `id` FROM `wqw_users` WHERE `username` =  '".$usuario."'");


Saludos.