Foros del Web » Programando para Internet » PHP »

Me da error de Warning

Estas en el tema de Me da error de Warning en el foro de PHP en Foros del Web. Buenas tardes, Tengo el siguiente código (aparentemente está bien): Código PHP: $user = trim ( $_POST [ 'tusuario' ]);      $pass = md5 ( trim ...
  #1 (permalink)  
Antiguo 20/07/2009, 11:06
Avatar de rafaconpu  
Fecha de Ingreso: febrero-2006
Mensajes: 331
Antigüedad: 18 años, 1 mes
Puntos: 3
Me da error de Warning

Buenas tardes,

Tengo el siguiente código (aparentemente está bien):

Código PHP:
$user=trim($_POST['tusuario']);
    
$pass=md5(trim($_POST['tpassword']));

    
$sql "select usuario, password from t_socio where usuario='$user' and password='$pass'";

    
$rs mysql_query($sql$conn);    

    if (
mysql_num_rows($rs) != 0){
        echo 
"Hay Registros";
    }else{
        echo 
"No devuelve nada";
    } 
pero siempre me devuelve este Warning:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in

He probado a poner la SQL de todas las maneras posibles, incluso indicándole un valor estático en la claúsula WHERE en lugar de pasarle una variable y siempre me da el mismo warning, no llegando a devolver ningún registro.

He comprobado en la tabla y efectivamente tengo un registro que coincide tanto el usuario como el password.

¿Qué puede estar ocurriendo?

Solucion
: El error estaba en la asignacion de privilegios para el usuario concreto de la base de datos, el cual no tenía los permisos necesarios asignados.

Última edición por rafaconpu; 20/07/2009 a las 11:15 Razón: Di con la solución
  #2 (permalink)  
Antiguo 21/07/2009, 04:18
 
Fecha de Ingreso: julio-2009
Mensajes: 118
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Me da error de Warning

De todas formas tienes que tener cuidado con sql injection:

¿Qué pasaría si el usuario inserta admin'/* ?:

la consulta quedaría así:


select usuario, password from t_socio where usuario='admin'/* and password='passenmd5'

para evitar eso debes filtrar las comillas simples '

Saludos!
  #3 (permalink)  
Antiguo 21/07/2009, 11:00
Avatar de bioxido  
Fecha de Ingreso: diciembre-2008
Ubicación: $_SERVER['PHP_SELF']
Mensajes: 601
Antigüedad: 15 años, 4 meses
Puntos: 21
Respuesta: Me da error de Warning

Sin desvirtuar el tema, solo una pregunta....

si el usuario inserta admin'/* como vos decis, que pasaria osea, bien... tal vez logre 'hackear' el primer WHERE, pero mysql no va a devolver ningun dato a menos que se cumplan las condiciones: usuario='$user' and password='$pass' ¿no?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:21.