我有这个问题:
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。我该怎么办?
答案 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);
}
});