Php 尝试登录时,我的代码无法正常工作

Php 尝试登录时,我的代码无法正常工作,php,mysqli,Php,Mysqli,这是我第一次使用Mysqli。所以我可能犯了一些错误。好的,我已经成功地将所有用于注册的数据插入Mysql数据库,包括下面的密码散列 //for password $random_salt = hash('sha512', uniqid(openssl_random_pseudo_bytes(16), TRUE)); $pass = hash('sha512', $password . $random_salt); 嗯,当我使用以下代码登录时,它会显示我的自定义错误消息“电子邮件地址

这是我第一次使用Mysqli。所以我可能犯了一些错误。好的,我已经成功地将所有用于注册的数据插入Mysql数据库,包括下面的密码散列

//for password 
$random_salt = hash('sha512', uniqid(openssl_random_pseudo_bytes(16), TRUE));    
$pass = hash('sha512', $password . $random_salt);
嗯,当我使用以下代码登录时,它会显示我的自定义错误消息“电子邮件地址或密码不正确”


试试这样:

替换

$check = mysqli_query($mysqli, "SELECT email, password FROM members WHERE email='$email' AND password = '$password2' ");
$num = mysqli_num_rows($check);


旁注:将
mysql\u error()
更改为
mysqli\u error()
这两个API不能混合使用。@Fred ii-我现在在脚本中完成了它。@themerlinproject我更新了我的问题。他为什么要尝试?你有不同的问题,你比我更了解我的问题。。。尝试一下我的解决方案只需花费他一分钟。这不是一个解决方案,只是随便说说而已。也许你能告诉我们解决办法?我只是想“帮助”他
function inputvalid($para){
return mysqli_real_escape_string(htmlspecialchars(trim($para)));
}
$check = mysqli_query($mysqli, "SELECT email, password FROM members WHERE email='$email' AND password = '$password2' ");
$num = mysqli_num_rows($check);
$check = mysqli_real_query($mysqli, "SELECT email, password FROM members WHERE email='$email' AND password = '$password2' ");
$result = mysqli_store_result($mysqli);
$num = $result->num_rows;
mysqli_free_result($result);