El script me da error:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/u815225632/public_html/check-login.php on line 17
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<?php
$user = $_REQUEST['user'];
$password = $_REQUEST['password'];
$co = mysql_connect("---host---", "---usuario---", "---password---");
mysql_select_db("users", $co);
$se = mysql_query("select USER,PASSWORD from users where USER=$user", $co);
echo $user;
echo "<br />";
echo $password;
echo "<br />";
if ($re = mysql_fetch_array($se)) {
echo $re['USER'];
echo $re['PASSWORD'];
if ($re['PASSWORD'] == $password) {
echo "OK!";
} else {
echo "NO!";
}
}
?>
</body>
</html>
Gracias y espero q me ayudéis a solucionarlo
tienes que pasar otro parámetro a mysql_fetch_array y dejarlo así
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<?php
$user = $_REQUEST['user'];
$password = $_REQUEST['password'];
$co = mysql_connect("---host---", "---usuario---", "---password---");
mysql_select_db("users", $co);
$se = mysql_query("select USER,PASSWORD from users where USER='$user'", $co);
echo $user;
echo "<br />";
echo $password;
echo "<br />";
if ($re = mysql_fetch_array($se, MYSQL_ASSOC)) {
echo $re['USER'];
echo $re['PASSWORD'];
if ($re['PASSWORD'] == $password) {
echo "OK!";
} else {
echo "NO!";
}
}
?>
</body>
</html>
En el ejemplo 3 de esta página verás lo que te comento http://es1.php.net/manual/es/function.mysql-fetch-array.php
PD: También creo que te faltan las comillas simples en la variable de la consulta $user
Marco no es eso, ese parametro es opcional
Porque probablemente el query haya venido vacío y si no retorna nada "se" será false, usa un if para comprobar si no retornó valores
Por cierto ya esta desaconsejado usar la extensión de mysql, en su ligar usar mysqli o mysql pdo, mas info en php.net
Cita de: engel lex en 17 Junio 2014, 15:24 PM
Marco no es eso, ese parametro es opcional
Porque probablemente el query haya venido vacío y si no retorna nada "se" será false, usa un if para comprobar si no retornó valores
Por cierto ya esta desaconsejado usar la extensión de mysql, en su ligar usar mysqli o mysql pdo, mas info en php.net
Fíjate en el error que le sale:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/u815225632/public_html/check-login.php on line 17
También le faltan las comillas simples en el la variable.
Que lo pruebe, es sólo una humilde opinion. Es cierto que está desaconsejado, pero antes de meterse en Clases y objetos debería de funcionar correctamente esto.
Gracias por las respuestas... pero nada, me sigue tirando el mismo error.
He probado a poner las comillas simples y también el valor opcional, ¿alguna idea más?
Gracias
Has un vardump a "se" dime que retornó
Cita de: sergio98 en 17 Junio 2014, 15:32 PM
Gracias por las respuestas... pero nada, me sigue tirando el mismo error.
He probado a poner las comillas simples y también el valor opcional, ¿alguna idea más?
Gracias
¿$user y $pass te salen en el navegador? USER y PASS los tienes con mayúsculas en la bbdd.
Prueba sustituyendo la consulta así,
$se = mysql_query("SELECT * FROM users where USER='$user'", $co);
Cita de: engel lex en 17 Junio 2014, 15:37 PM
Has un vardump a "se" dime que retornó
var_dump($se);
Booleano(false)
Y sí, las variables $user y $password me aparecen en el navegador.
Con el script que me has dado me sigue sin ir.
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/u815225632/public_html/check-login.php on line 17
la funcion esperaba una variable conteniendo un resource, pero si el query no retorna nada, da false... y false es un booleano, asi que causa error, muestra de eso...
Cita de: sergio98 en 17 Junio 2014, 15:56 PM
var_dump($se);
Booleano(false)
revisa si en tu base de datos estan lo datos bien escritos usa el phpmyadmin para hacer el query
Esto pasa cuando no verificas primero que se realize la conexion con la db.. conectar con db > no se pudo conectar? > bump error(login incorrecto o whatever).
Cita de: EFEX en 18 Junio 2014, 03:57 AM
Esto pasa cuando no verificas primero que se realize la conexion con la db.. conectar con db > no se pudo conectar? > bump error(login incorrecto o whatever).
tampoco porque el query requiere una variable de tipo recurso, si se rebota la conexión el error lo diera mysql_query
Cita de: engel lex en 18 Junio 2014, 07:04 AM
tampoco porque el query requiere una variable de tipo recurso, si se rebota la conexión el error lo diera mysql_query
Incorrecto, no porque no se establezca conexión con la Base de Datos ocurrirá un error con mysql_query. Yo si creo que ese sea el error, o no estableces bien la conexión o el usuario con el que te has logueado, usando mysql_connect, no tiene permisos suficientes para realizar la consulta.