node js mysql save从选择数据到var

时间:2017-12-13 06:48:18

标签: javascript mysql node.js

我有这个问题:

var sql = "SELECT user FROM users WHERE user = '" + req.body.user + "'";

假设我在数据库中有一行与用户:babushka和 req.body.user也是:babushka。这个问题会给我答案: {user: 'babushka'}

connection.query(sql, function (err, result) {
    if (err) {
        throw err;
    }
    console.log(result);
});

但是,我试图只将babushka保存到var。我该怎么办?

3 个答案:

答案 0 :(得分:3)

您的结果是Javascript Object。您可以像这样获得user属性:

 connection.query(sql, function (err, result) {
        if (err) {
            throw err;
        }
        var user =result.user;
    });

答案 1 :(得分:1)

很简单,只需从user对象访问result属性。

此外, don't concatenate raw input from users into your SQL使用如图所示的参数绑定可以轻松安全地避免SQL injection

var sql = "SELECT user FROM users WHERE user = ?";

connection.query(sql, [req.body.user], function (err, result) {
    if (err) {
        throw err;
    }
    var user = result.user;
    console.log(user);
});

答案 2 :(得分:0)

通过查询,您可以轻松地从结果object获得答案。 你可以使用

console.log(result.user);

也就是说,您的整个代码将是这样的

var sql = "SELECT user FROM users WHERE user = '" + req.body.user + "'";
  connection.query(sql, function (err, result) {
    if (err) {
        console.log('db fetch error',error);
        throw err;
    }
   else {
   let user =result.user;
   console.log('user=>',user);
    }

});
相关问题