【问题标题】:Express + Passport : How to use req.user variable in MYSQL queryExpress + Passport:如何在 MYSQL 查询中使用 req.user 变量
【发布时间】:2018-04-19 22:11:29
【问题描述】:

希望有人能帮忙。抱歉,如果它很简单,我已经在网上搜索了几个小时并且没有找到正确的答案。

我正在使用 Express 和 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 查询的可用格式(只是数字所以我可以将它与正确的字段匹配)?任何帮助将不胜感激。感谢阅读!

问候, 丹尼尔

【问题讨论】:

  • 怎么样:“SELECT * FROM users WHERE id = ${user}”

标签: mysql express passport.js


【解决方案1】:

您可以使用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

【讨论】:

  • DININDU,优胜者,鸡肉晚餐。谢谢先生,您对 ""SELECT * FROM users WHERE id =" + req.user.user_id" 的编辑起到了作用。非常感谢,这让我快疯了,现在我可以继续前进了,祝你有美好的一天!
猜你喜欢
  • 2020-01-14
  • 2014-08-08
  • 1970-01-01
  • 2015-03-21
  • 2019-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-04
相关资源
最近更新 更多