我有一个用于登录的PHP / MySQL脚本,它适用于其他人,但它不适用于我的用户名,它告诉我没有找到该用户名的帐户。我甚至尝试在数据库的users表中创建一个新行,并且使用它可以正常登录,但由于某种原因,我的名字无效。
if($submit)
{
if($username && $password)
{
$passhash = strtoupper(hash("whirlpool", $password));
$query = mysql_query("SELECT name, password FROM users WHERE name = '$username'");
if(mysql_num_rows($query) == 1)
{
while($row = mysql_fetch_assoc($query))
{
$dbusername = $row['name'];
$dbpassword = $row['password'];
if($username == $dbusername && $passhash == $dbpassword)
{
$_SESSION['username'] = $dbusername;
echo header('location: profile.php');
}
else echo "The password you entered was incorrect.";
}
}
else echo "No account was found with that name!";
}
else echo "You must enter your name and password!";
}
它只是回声“没有找到该名称的帐户!”。
这只是在我将网站上传到网络主机时才开始发生,它在本地工作正常。
答案 0 :(得分:0)
我猜你的问题是引号,如果你使用简单的引号,它将变量作为文字。
$query = mysql_query("SELECT name, password FROM users WHERE name = '".$username".'");
无论如何,我建议你小心SQL中使用的所有变量以避免sql注入。