当我使用移动功能php添加登录时无法登录

当我使用移动功能php添加登录时无法登录,php,database,login,Php,Database,Login,我有一个登录表单,用户现在可以通过手机号码、电子邮件或用户名登录。当我通过手机号码登录时,它工作正常,但当我通过用户名或电子邮件登录时,它说明如何使其工作无效。当我删除手机登录查询时,用户名和电子邮件工作正常 这是我的php代码 $email = mysqli_real_escape_string($con,trim($_POST['email'])); $password = mysqli_real_escape_string($con,md5(trim($_POST['passwor

我有一个登录表单,用户现在可以通过手机号码、电子邮件或用户名登录。当我通过手机号码登录时,它工作正常,但当我通过用户名或电子邮件登录时,它说明如何使其工作无效。当我删除手机登录查询时,用户名和电子邮件工作正常 这是我的php代码

 $email = mysqli_real_escape_string($con,trim($_POST['email'])); 
  $password = mysqli_real_escape_string($con,md5(trim($_POST['password'])));
$query = "SELECT * FROM users WHERE (username='$email' or email = '$email' or mobile='$email')   AND password='$password' ";
$fire = mysqli_query($con,$query)or die(mysqli_error($con));
 if ($fire) {
if (mysqli_num_rows($fire) == 1) {


  $_SESSION['is_login'] = 'true';
  $_SESSION['email'] = $email;

  header("Location: dashboard");

}

如何解决这个问题我做错了什么请帮助我,我想用php做这件事没有javascript和ajax实际上我在varchar中有email和username字段,但在big int中有number字段我在varchar中更改了number字段它解决了这个问题

从不存储纯文本密码!请使用来处理密码安全性。如果您使用的PHP版本低于5.5,则可以使用密码\u hash()。在散列之前,请确保对它们进行了清理或使用了任何其他清理机制。这样做会更改密码并导致不必要的额外编码。@johncode我正在使用md5保护密码,但请告诉我问题的解决方案
md5()
对于哈希密码已经过时,不应使用。PHP提供和,请使用它们。这里有一些。如果您使用的是5.5之前的PHP版本,则RDBMS和连接api未知。启用错误报告并检查查询中的错误。@johncode好的,我来看看,但是你有什么解决我问题的方法吗??