【发布时间】:2019-10-29 21:52:13
【问题描述】:
我目前正在使用 express 和 postgres 制作带有数据库的 web 应用程序,但在实现注册时遇到了麻烦。 这是用户将用户名、名称和密码输入表单后发生的小sn-p,该表单随后发布到“/registerUser”路由。这是 '/registerUser' 路由的发布请求。 pool.query 适用于 check_username,但是不适用于 add_user 查询。
以下是 2 个查询: check_username = '从用户名 = $1 的用户中选择 1' add_user = 'INSERT INTO users VALUES (username, name, password) VALUES ($1, $2, $3)'
router.post('/', function(req, res, next) {
var name = req.body.name;
var username = req.body.username;
var password = req.body.password;
pool.query(sql_query.query.check_username, [username], (err, data) =>{
if(data.rows[0] != undefined) {
console.log(`re register again!`);
res.redirect('/registerUser');
} else {
console.log("adding to database")
// Generate salt
bcrypt.genSalt(10, (err, salt) =>{
if(err) {
console.log(err);
}
// hash it with salt
bcrypt.hash(password, salt, (err,hash)=>{
if(err) console.log(err)
//password = hash
console.log(`${username} + ${password}`);
// save to database
pool.query(sql_query.query.add_user, [name, username, password], (err, data) => {
console.log("pass")
res.redirect("/")
});
});
});
}
});
});
这里到底有什么问题?难道是我不能嵌套 pool.queries 吗?
【问题讨论】:
标签: node.js postgresql