Lo más probable es que la consulta no esté devolviendo datos. Yo sospecho que está tomando mal el nombre de campo de contraseña, porque ni los conectores a las bases de datos, ni los motores bases de datos se manejan bien con caracteres extendidos como la "ñ".
Harías bien el cambiar el nombre de esa columna y volver a probar.  
@xfxstudios: No hay ningún error sintáctico en una consulta como la que pone:   
Código SQL:
Ver originalSELECT * FROM usuario WHERE correo='".$em."' AND contraseña='".$pa."'
  
Solo tiene el problema de depender de lo que contengan las variables y de esa "ñ", que no creo que esté funcionando bien.