Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 为什么我的数据库显示未定义的数据,即使我在POSTMAN中插入了数据?_Mysql_Node.js_Database_Express_Postman - Fatal编程技术网

Mysql 为什么我的数据库显示未定义的数据,即使我在POSTMAN中插入了数据?

Mysql 为什么我的数据库显示未定义的数据,即使我在POSTMAN中插入了数据?,mysql,node.js,database,express,postman,Mysql,Node.js,Database,Express,Postman,下面是我在ExpressJS中在MYSQL中插入数据的代码 router.post('/user', function (req, res) { let sql = "INSERT INTO Member (id, Memb_ID, First_Name, Middle_Name, Last_Name, Address, url) VALUES (null, '" + req.body.Memb_ID + "', '" + req.body.First_Name + "', '

下面是我在ExpressJS中在MYSQL中插入数据的代码

router.post('/user', function (req, res) {
        let sql = "INSERT INTO Member (id, Memb_ID, First_Name, Middle_Name, Last_Name, Address, url) VALUES (null, '" + req.body.Memb_ID + "',  '" + req.body.First_Name + "', '" + req.body.Middle_Name + "', '" + req.body.Last_Name + "', '" + req.body.Address + "', '" + req.body.url + "')";

        myDB.query(sql, function (err, results) {
            if (err) throw err;
            res.send({
                Success: "Data inserted."
            })

        });
    });
它在我的数据库中插入数据,但我的数据库如下所示

我不知道为什么它会这样输出。这是我的JSON

编辑: 这是我的MYSQL表

您能确保完成以下操作吗

  • 请求中的
    内容类型
    头必须是
    application/json

  • 使用(或类似的库)解析JSON有效载荷->您可以打印req.body来验证这一点

  • 如果您可以确认这些值是可访问的,我建议您转义(或您使用的任何mysql库中)中提到的查询值,特别是因为它是DML查询


  • (我还假设查询中使用的字段名与数据库中的字段名匹配,并且是正确的数据类型。)

    能否确保完成以下操作

  • 请求中的
    内容类型
    头必须是
    application/json

  • 使用(或类似的库)解析JSON有效载荷->您可以打印req.body来验证这一点

  • 如果您可以确认这些值是可访问的,我建议您转义(或您使用的任何mysql库中)中提到的查询值,特别是因为它是DML查询


  • (我还假设查询中使用的字段名与数据库中的字段名匹配,并且是正确的数据类型。)

    在您的邮递员呼叫图像中,它清楚地显示您的内容类型是
    text

  • 在邮递员呼叫头中将内容类型更改为
    application/json
  • 也可以从“主体”选项卡中进行选择
  • 由于您的正文内容是图像中显示的
    text
    ,因此它发送的纯文本导致数据库中未定义。但是服务器需要的是
    json


    希望能有所帮助。

    在你的邮差电话图像中,它清楚地显示了你的内容类型是
    text

  • 在邮递员呼叫头中将内容类型更改为
    application/json
  • 也可以从“主体”选项卡中进行选择
  • 由于您的正文内容是图像中显示的
    text
    ,因此它发送的纯文本导致数据库中未定义。但是服务器需要的是
    json



    希望有帮助。

    所有列都未定义?将图像与标题列一起放置。这很混乱,很难想象。嗨@Yeou,我更新了帖子。如果您正在获取请求变量中的所有值,请感谢。您可以尝试
    console.log(req.body.Memb\u ID)
    。同时执行
    console.log(sql)
    则不会提交您的数据。检查一下。是的,我通过重新启动服务器和邮递员解决了这个问题。所有列都未定义?将图像与标题列一起放置。这很混乱,很难想象。嗨@Yeou,我更新了帖子。如果您正在获取请求变量中的所有值,请感谢。您可以尝试
    console.log(req.body.Memb\u ID)
    。同时执行
    console.log(sql)
    则不会提交您的数据。检查一下。是的,我通过重启服务器和邮递员解决了这个问题。我应该把内容类型和应用程序/json放在哪里?我的代码中没有这两个。您好,Vin,您可以将其添加到POSTMAN REST客户端的headers部分。您可以检查req.body是否包含您从REST客户端发布的值吗?(console.log(req.body);应该告诉)它成功了,IDK为什么,我刚刚在POSTMAN中创建了另一个窗口,复制了值,然后重新运行服务器和POSTMAN,它成功了。而且,它是在控制台上打印的。酷。如果您能够排除故障,请告诉我们它是如何工作的。ThanksUhh我应该把内容类型和application/json放在哪里?我的代码中没有这两个。您好,Vin,您可以将其添加到POSTMAN REST客户端的headers部分。您可以检查req.body是否包含您从REST客户端发布的值吗?(console.log(req.body);应该告诉)它成功了,IDK为什么,我刚刚在POSTMAN中创建了另一个窗口,复制了值,然后重新运行服务器和POSTMAN,它成功了。而且,它是在控制台上打印的。酷。如果您能够排除故障,请告诉我们它是如何工作的。谢谢