mysql - Express + Passport : How to use req. MYSQL 查询中的用户变量

标签 mysql express passport.js

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

我正在使用 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/

相关文章:

php - 将 SQL 转换为 PDO 以防止 SQL 注入(inject)

javascript - 使用 Express 和 'websocket' 包的 WebRTC 信令服务器

javascript - 如何结合 Passport 和 Angular 用户界面路由

node.js - Passport.js 和 Facebook Graph API

mysql - 查找具有多个链接行的行

mysql - 根据特定值对记录进行排名的 SQL 语句

mysql - 在 Rails 应用程序中查找和显示关系模型中的记录列表时遇到问题

Node.js + Express : rewrite url path

javascript - Node.js Express 特定路由与顶级通用解析

node.js - 使用 OOP 扩展 Node.js 模块