登录页面,想要检查现有用户



对于我的注册页面,我想在添加新用户之前检查现有用户,以避免重复用户名。由于某种原因,在我检查数据库中是否存在现有用户名之后,它没有运行任何代码。

app.post("/register", (req, res) => {
const username = req.body.username;
const password = req.body.password;
var newuser = false;
db.query("SELECT * FROM users WHERE username = ?;", [username], (err, result) => {

if (err) {
res.send({err: err})
}
if (result.length == 0) {
newuser = true;
console.log(newuser + "one")
}
})
if (newuser) {
console.log(newuser + "two")
bcrypt.hash(password, saltRounds, (err, hash) => {
if (err)
console.log(err)

db.query(
"INSERT INTO users (username, password) VALUES (?,?)",
[username, hash],
(err, result) => {
if (err)
console.log(err);
}
)
})
}
})

在这个例子中,我得到的唯一输出是"trueone"…意思是它对结果求值。长度为0,设置newuser = true

这是因为您没有等待第一次选择的结果。您可以使用async函数或将if(新用户)条件移动到select回调中。

相关内容

  • 没有找到相关文章

最新更新