Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/05/2012, 10:41
Avatar de gjx2
gjx2
 
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: foreach y query en PHP

El error es por que foreach espera que el valor devuelto por mysql_fetch_array sea un array
y si en tu consulta no existe ningún usuario con ese password la funcion mysql_fetch_array en vez de retornate un array devolvera falso y por eso se produce el error.

Pero también mas allá del error hay algo mas que es asunto de logica.

Si andas buscando solo el usuario que coincida con el nombre y el password que le estas pasando, por que tienes que meter el resultado en un bucle ?

Puedes hacer uso de mysql_num_rows para comprobar si la consulta arrojo resultados

eje.

Código PHP:
Ver original
  1. $sql = "SELECT * FROM Cuentas WHERE Usuario = '".$usuario."' AND Contrasena = '".$pass."'";
  2.     $query = mysql_query($sql);
  3.  
  4. # Verifico si arrojo datos la consulta.
  5. if (mysql_num_rows($query)){
  6.  
  7. # El usuario y password son validos  
  8. $fila = mysql_fetch_array($query);     
  9.  
  10. } else {
  11.  
  12. # El usuario y password no son validos.
  13.  
  14. }

Saludos.