PHP/MySQLi找不到现有用户
出于某种原因,代码似乎无法找到任何现有用户名。但是我找不到我的代码有任何错误。任何帮助都将不胜感激PHP/MySQLi找不到现有用户,php,mysql,mysqli,Php,Mysql,Mysqli,出于某种原因,代码似乎无法找到任何现有用户名。但是我找不到我的代码有任何错误。任何帮助都将不胜感激 $Name = $_POST["User"]; $Pass = $_POST["Pass"]; $get = "SELECT * FROM Logins"; $result = mysqli_query($conn, $get); $found = false; echo $Name;
$Name = $_POST["User"];
$Pass = $_POST["Pass"];
$get = "SELECT * FROM Logins";
$result = mysqli_query($conn, $get);
$found = false;
echo $Name;
$sql=mysqli_query("SELECT FROM Logins (ID, Username, Password) WHERE Username=$Name");
if(mysqli_num_rows($sql) > 0) {
echo "Username Taken";
} else {
$sql = "INSERT INTO Logins (ID, Username, Password) VALUES (0, '$Name', '$Pass')";
if (mysqli_query($conn, $sql)) {
echo "Account Created";
} else {
echo mysqli_error($conn);
}
}
当我发布到站点时,$Name是正确的。select语句附近的语法不正确。它是
SELECT FROM Logins (ID, Username, Password) WHERE Username=$Name")
你需要:
SELECT ID, Username, Password
FROM Logins
WHERE Username='$Name'
还要注意的是,您应该使用prepared语句,这将避免使用引号,并避免代码因SQL注入而受到攻击。查询中字符串值周围缺少引号。mysqli_error()会告诉您,如果您使用它来检查错误。使用这两种方法似乎没有任何区别。现在有什么问题?完全一样。出于某种原因,即使用户不存在,它也会将用户信息插入数据库。