mysql - 使用NodeJS和MySQL无法通过id获取数据

标签 mysql node.js express postman

我是 NodeJs 新手,我想通过 id 获取一些信息。这是我的代码
Controller :

router.get('/machine', function (req, res) {
  Machine.getmachine(req.body, function (err, row) {
    if (err) {
        res.status(400).json(err);
    }
    else {
        res.json(row);
    }
  });
});

SQL 部分:

getmachine: function (Machine, callback) {
   return db.query('SELECT * from machine WHERE id=?', [Machine.id], callback);
},

我尝试使用 Postman 进行测试,结果只得到 {}。 请您告诉我为什么我没有得到我想要的东西?

最佳答案

尝试这样的方法,而不是读取正文数据,您应该将其读取为查询。否则,如果您作为 params 传递,则应使用 req.params('id') 来获取 id。

 router.get('/machine', function (req, res) {
  Machine.getmachine(req.query.id, function (err, row) {
    if (err) {
        res.status(400).json(err);
    }
    else {
        res.json(row);
    }
  });
 });

编辑

根据您在评论中提供的网址,您可以尝试这样的操作。

 router.get('/machine:id', function (req, res) {
      Machine.getmachine(req.params.id, function (err, row) {
        if (err) {
            res.status(400).json(err);
        }
        else {
            res.json(row);
        }
      });
     });

如果您设法将 ID 获取到后端,那么问题一定出在您的 sql 查询中。尝试这样的事情

 getmachine: function (Id, callback) {
     return db.query('SELECT * from machine WHERE id=?', Id, callback);
 }

关于mysql - 使用NodeJS和MySQL无法通过id获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57378207/

相关文章:

mysql UNION 查询输出

node.js - 意味着 init 在 "What would you name your mean app?"之后停止

javascript - Node.js 在 node-opcua 中设置动态变量

javascript - 在这种情况下如何使用 bluebird Promise?

mysql 内连接 3 个表的订单计数问题

mysql性能为什么更新1000行比更新一行* 1000多3-4倍

python - Django 数据库未迁移

node.js - 无法将 redis 容器链接到 docker 中的 node.js 容器

javascript - Node.js Express 应用程序无法从 dropzone.js 回调重定向

mysql - 我该如何解决这个问题 : getting values, 和类型错误