你好,我目前有这个代码的问题,我不确定把我的其他地方。 错误是这样的:登录验证
mysql_num_rows() expects parameter 1 to be resource, boolean given in
这是我的代码:
if ($_POST['submit'])
{
$username = $_POST['id'];
$password = $_POST['pass'];
//connect to the database here
$username = mysql_real_escape_string($username);
$query = "SELECT hashpass, salt
FROM users
WHERE username = '$username'";
$result = mysql_query($query);
if(mysql_num_rows($result) < 1) //no such user exists
{
echo "NO USER!";
}
$userData = mysql_fetch_array($result, MYSQL_ASSOC);
$hash = sha1 ($userData['salt'] . $password);
if($hash != $userData['password']) //incorrect password
{
echo "WRONG PASS";
}
}
希望得到任何帮助。
还有什么?我认为问题在于不兼容的返回类型。 –
你在phpmyadmin中运行了你的$ query吗?并且您没有在sql查询中选择密码,但是在比较密码时使用了密码。 – WatsMyName
您的查询可能会返回一个错误,并且'mysql_ *'函数已被弃用,请考虑迁移到** mysli _ **或** PDO **。 – complex857