嵌套查询nodejs postgres

时间:2019-10-29 12:07:12

标签: node.js postgresql

我目前正在使用express和postgres制作一个带有数据库的webapp,但无法实现注册。 这是用户将用户名,名称和密码键入表单,然后发布到“ / registerUser”路由后的一小段内容。这是“ / registerUser”路线上的发帖请求。 pool.query适用于check_username,但是不适用于add_user查询。

以下是两个查询: check_username ='从用户名= $ 1的用户中选择1个' add_user ='将用户值(用户名,名称,密码)插入到值($ 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吗?

1 个答案:

答案 0 :(得分:0)

答案是插入查询存在语法错误。表格列前面不应有VALUES。