gpt4 book ai didi

php - MySQL 没有找到只对应一个用户名的行,但它确实存在?

转载 作者:行者123 更新时间:2023-11-29 22:36:04 25 4
gpt4 key购买 nike

我有一个用于登录的 PHP/MySQL 脚本,对其他人来说效果很好,但对我的用户名不起作用,它告诉我没有找到该用户名的帐户。我什至尝试在数据库的用户表中创建一个新行,并且它记录得很好,只是由于某种原因不适用于我的名字。

 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!";
}

它只是回显“没有找到具有该名称的帐户!”。

当我将网站上传到网络主机时,这种情况才开始发生,它在本地运行良好。

最佳答案

我猜你的问题是在引号中,如果你使用简单的引号,它会将变量视为文字。

$query = mysql_query("SELECT name, password FROM users WHERE name = '".$username".'");

无论如何,我建议您小心 SQL 中使用的所有变量,以避免 SQL 注入(inject)。

关于php - MySQL 没有找到只对应一个用户名的行,但它确实存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29542580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com