【问题标题】:How to insert query into sql server using nodejs如何使用nodejs将查询插入sql server
【发布时间】:2019-05-22 07:11:20
【问题描述】:

我正在尝试使用带有 nodejs 的窗口身份验证将查询插入 SQL Server。我已经完成了选择查询的获取请求。但现在我正在尝试使用插入查询的发布请求。但我无法将我的 req.body.name 传递到以下查询中

app.post('/ping', bodyparser.json(), function(req, res) {
    console.log("post enter");

    const query = "insert into student (name) values ("+req.body.name+") ";

    sql.query(connectionString, query, (err,rows) => {
        console.log(rows);
        if (err) {
            console.log(err)
        }
        else {
            return  res.send(rows);
        }
    })
});

【问题讨论】:

  • 你应该参数化你的查询,而不是注入值。

标签: node.js sql-server express body-parser


【解决方案1】:

试试这样:

    app.post('/register',function(req,res){
          var users={
    "first_name":req.body.first_name,
    "last_name":req.body.last_name,
    "email":req.body.email,
    "password":req.body.password,
    "created":today,
    "modified":today
  }
  connection.query('INSERT INTO users SET ?',users, function (error, results, fields) {
  if (error) {
    console.log("error ocurred",error);
    res.send({
      "code":400,
      "failed":"error ocurred"
    })
  }else{
    console.log('The solution is: ', results);
    res.send({
      "code":200,
      "success":"user registered sucessfully"
        });
  }
        });
    });

【讨论】:

  • 收到 IError:[msnodesql] 传递给函数查询或 queryRaw 的参数无效。
  • 我已经按照你说的用 mysql 完成了 post call,但是在 sql server 中我应该做参数化..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-02
  • 2013-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-17
相关资源
最近更新 更多