因此,我对PHP相当陌生,但我正在尝试创建一个简单的登录系统。
我现在遇到的问题是,由于某种原因,第二条SQL语句失败了,或者没有返回任何信息。
这是我使用的代码。
include 'dbConn.php';
if(isset($_POST['submit']))
{
global $conn;
$username = $_POST['username'];
$password = $_POST['password'];
$saltSql = "SELECT salt FROM users WHERE email = '$username'";
$saltRes = $conn->query($saltSql);
while($resRow = $saltRes->fetch_assoc()){
$salt = $resRow['salt'];
}
$saltedHash = hash("sha512", ($password . $salt));
$sql = "SELECT email, role, FROM users WHERE email = '$username' AND password = '$saltedHash'";
$res = $conn->query($sql);
if($res->num_rows == 1)
{
//Logged in succesfully
echo "Logged in!";
}
else
{
//Something went wrong
echo "Something went wrong";
}
$conn->close();
}当我手动执行phpmyadmin中的第二个查询时,我会得到以下错误:#1064 --您的SQL语法出现了错误;请检查与您的MySQL服务器版本对应的手册,以获得正确的语法,以便在第1行使用“FROM”use 'FROM = 'username‘和password = '5111109d49bc1’。
我真的很想在这方面提供一些帮助。
发布于 2016-02-29 10:42:26
你的问题似乎是:
$sql = "SELECT email, role, FROM users WHERE email = '$username' AND password = '$saltedHash'"
--------------------------^您有一个额外的逗号,,它会导致您的SQL查询崩溃。移除它,它就会起作用:
$sql = "SELECT email, role FROM users WHERE email = '$username' AND password = '$saltedHash'"https://stackoverflow.com/questions/35697389
复制相似问题