Qué error ven aquí? (URGENTISIMO)

Intento comparar dos variables en un if

Una variable, es un GET de un formulario -
[PHP]$_GET[username][/PHP]

Otra variable, es el resultado de una consulta MySQL -
[PHP]$consulta = mysql_query ("SELECT username FROM sfalls WHERE username = '$_GET[username]'");
$registro = mysql_fecth_array($consulta);
$registro = $consulta[0];[/PHP]

Ahora viene el if...
[PHP]if ($registro==$_GET[username])
{echo "Son iguales";}
else
{echo "No son iguales";}[/PHP]

He comprobado con echo si ambas variables poseen el mismo valor, y efectivamente, así es:
[PHP]echo "$registro / $_GET[username]";[/PHP]

Ven algo mal?? Siempre me devuelve el else.

Por favor, si pueden ayudarme, solamente me quedan 2 horas para presentar el trabajo y poder presentarme a un examen final :(

Necesito vuestra ayuda, gracias!
Así a ojo, no le veo nada malo.

Échale un vistazo a esto, a ver si te ayuda:

http://www.desarrolloweb.com/articulos/313.php

Un consejo: prueba a pasar el $_GET a una variable temporal y luego compáralo.

Prueba tb a cambiar:

$registro = $consulta[0];

por $temp=$registro["username"]
mysql_fetch_array te devuelve un array, que lo deberías asignar a $fila o similar, y luego hacer $registro = $fila[0]. Lo que haces (meterlo en una variable registro, e intentar leer de la consulta) no tiene sentido. Supongo que serán las prisas, pero revisa bien para la próxima.
Claro, estás intentando acceder a consulta[0], cuando consulta no es un array. En todo caso, en tu código sería registro[0], ¿no?Diría que es eso.

Se han explicado mejor que yo [carcajad]
banderas20 escribió:Claro, estás intentando acceder a consulta[0], cuando consulta no es un array. En todo caso, en tu código sería registro[0], ¿no?Diría que es eso.

Se han explicado mejor que yo [carcajad]

Pues yo toy contigo, aunque solo sea un registro, tienes un array, y has de coger la posición 0.
emm. creo que llegais un poco tarde.

espero que lo hayas solucionado a tiempo.

un saludo
5 respuestas