Reputation: 45
I have this query:
var sql = "SELECT user FROM users WHERE user = '" + req.body.user + "'";
Suppose I have in the database a row with the user: babushka and
the req.body.user is also: babushka. This query will bring me the answer:
{user: 'babushka'}
.
connection.query(sql, function (err, result) {
if (err) {
throw err;
}
console.log(result);
});
But, I am trying to save only the babushka to a var. How can I do it?
Upvotes: 3
Views: 1810
Reputation: 435
From your query, you can easily get the answer from result object. You can use
console.log(result.user);
That is, your entire code will be like this
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);
}
});
Upvotes: 0
Reputation: 60537
Easy, just access the user
property from the result
object.
Also, don't concatenate raw input from users into your SQL! Using parameter binding like shown to safely avoid SQL injection easily:
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);
});
Upvotes: 1