Cita:
Iniciado por edwines
Amigo, lo que sucede es que estas tratando de realizar la comparación directamente del resource, la cual simplemente será evaluada como false si el usuario no existe o true si el usuario existe.
Si observas la descripción de la función [URL="http://co.php.net/manual/es/function.mysql-query.php"]mysql_query()[/URL] observaras que el resultado retornado NO es el valor de la columna (directamente hablando). Lo que te devuelve tienes qué pasarlo por tras funciones para así lograr ver el valor que quieres.
Sería más o menos algo así:
Código PHP:
$result = mysql_query($comprobar2);
$datos = mysql_fetch_assoc($result);
if ( $datos['confirmacion'] == 0 )
{
echo "lo siento, tienes que activar tu cuenta";
}
mysql_fetch_assoc() te crea un array con cada fila del result... en este caso solo vemos la primera fila porque se supone que no deben haber más de un usuario con ese nombre.
Por otro lado te recomiendo que minimices las consultas a una, más o menos así:
Código PHP:
(...)
$sql = "SELECT * FROM usuarios WHERE nombre_usuario = '$usuario' AND contrasena = '$password'";
$result = mysql_query($sql);
// Comprobamos si la consulta retorno algún registro
if ( mysql_num_rows($result) != 0 )
{
$datos = mysql_fetch_assoc( $result );
// Comprobando si esta inactivo
if( $datos['confirmacion'] == 0 )
{}
// Id del usuario
$id_usuario = $datos['id_usuario'];
(...)
}

Muchas Gracias, intentare minimizar un poco las cosas. Un saludo y gracias por la explicación teórica.