希望有人能帮忙。很抱歉,如果它很简单,我已经在网上搜索了几个小时,但还没有找到正确的答案。
我正在使用 Express with Passport。我已经登录,并且 req.user 正在使用数据库中的 user_id 进行填充,当 console.log'ing 时,该数据库以这种格式显示:
req.session.passport.user: {"user":{"user_id":18} }
所以这很好。现在我正在转到另一个页面,并尝试在新的 MYSQL 查询中使用该变量,以从我的数据库中获取用户的更多信息,如下所示:
user = req.user;
db.query("SELECT * FROM users WHERE id = 'user'", function(error, results, fields) {
if (error) throw error;
console.log(results)
});
在尝试将 user_id 变量精简为数字等后,我无法让它工作。任何人都可以建议一种方法,将 req.user 变量转换为适合 MYSQL 查询的可用格式(只是数字)这样我就可以将它与正确的字段相匹配)?任何帮助将不胜感激。感谢您的阅读!
问候, 丹尼尔
最佳答案
您可以使用template literal就像下面这样,
db.query(`SELECT * FROM users WHERE id = ${req.user.user_id}`, function(error, results, fields) {
if (error) throw error;
console.log(results)
});
或者
"SELECT * FROM users WHERE id =" + req.user.user_id
关于mysql - Express + Passport : How to use req. MYSQL 查询中的用户变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47159114/