【问题标题】:Nesting queries for nodejs postgresnodejs postgres的嵌套查询
【发布时间】: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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-28
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      相关资源
      最近更新 更多