Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/11/2010, 11:40
bcjmpr
 
Fecha de Ingreso: noviembre-2010
Mensajes: 27
Antigüedad: 13 años, 6 meses
Puntos: 0
Error al validar usuarios php+mysql

Hola. Ya varias veces he entrado a estos foros y he resuelto muchas dudas gracias a la comunidad, pero ahora estoy atorada con algo que no logro resolver. Comienzo diciendo que soy relativamente nueva en esto de php+mysql pero estoy suficientemente familiarizada con el lenguaje para poder hacer cambios por mi cuenta, asi que agradezco cualquier ayuda.

Mi problema es que no logro hacer funcionar un query, debe ser un error bastante simple pero he pasado horas viéndolo y creo que ya me ciclé. Pongo mi código:

Tengo una página index.php que contiene lo siguiente:

<?php include("conexion.php"); ?>
<form action="login.php" method="post">
<table class="tabla_login">
<tr>
<td>Usuario:</td>
<td><input type="text" name="user" size="20" maxlength="20" /></td>
<td>Contraseña:</td>
<td><input type="password" name="password" size="20" maxlength="20" /></td>
<td><input class="button" type="submit" name="submit" value="Entrar" /></td>
</tr>
</table>
</form>

Y mi página login.php:

<?php include("conexion.php");

$user=$_POST['user'];
$password=$_POST['password'];
$errorMessage='';
$num_rows=0;

$sql="SELECT * FROM usuarios WHERE user=$user AND password=$password"; /*AQUI TENGO EL PROBLEMA */
echo $sql;
$result=mysql_query($sql) or die (mysql_error());
$num_rows=mysql_num_rows($result) or die ($sql.mysql_error()."");

if($result)
{
if($num_rows > 0)
{
session_start();
$_SESSION['login']='1';
header("Location:index.php");
}
else
{
echo 'Error al iniciar sesión';
$errorMessage='Sesión invalida';
session_start();
$_SESSION['login']='';
}
}
else
{
$errorMessage='Error al iniciar sesión';
}
?>

Al hacer el $sql="SELECT..." la instrucción no me devuelve datos. A continuación incluí el echo $sql; que devuelve lo siguiente como texto:
SELECT * FROM usuarios WHERE user=usuarioX AND password=passwordX Unknown column 'usuarioX' in 'where clause'
donde usuarioX y passwordX son datos válidos que sí existen en mi base de datos. He probado comillas dobles y sencillas en todas las combinaciones que se me han ocurrido y el cambio en el output es que me pide revisar la sintaxis de la instrucción SELECT pero no he tenido suerte. ¿Alguien me puede decir donde me equivoco?
Muchas gracias.