当前位置: 首页 > 知识库问答 >
问题:

如何在expressjs中将Javascript变量保存到Mysql数据库中

贺轶
2023-03-14

我对node js和expressjs框架很陌生。我正在开发一个web应用程序,我被卡住了。我已经设置了所有的数据库要求,所有的工作都很好,现在我想把一些数据保存到数据库中,我把数据存储在一个变量中,但不幸的是,存储在变量(MyID)中的数据没有保存。这是我的密码

var=MyID

app.post(“/AddContact”,function(req,res){

    var postData = {
       // MyID: req.body.txtemplyeeID************Get employee ID as a foreign Key and Insert it,
        EmployeeID:req.body.txtemployeeID,
        FatherName:req.body.txtfathersName,
        MotherName:req.body.txtMothersName,
        NameOfSpouse:req.body.txtSpouseName,
        SpouseAddress:req.body.txtSpouseAddress,
        ParentsAddress:req.body.txtParentsAddress,
        EmployeeAddress:req.body.txtEmployeeAddress

    };
    connection.connect();
    connection.query('SELECT MyID from employees where EmployeeID='+"'"+ postData.EmployeeID +"'" +'', function(err, rows, fields) {

        if (err) throw err;

        for (var i in rows)
        {
            var results = rows[i];
            MyID=results.MyID;
            console.log(MyID);

        }

    })

        connection.query('INSERT INTO EmployeeContacts(MyID,FatherName,MotherName,NameOfSpouse,SpouseAddress,ParentsAddress,EmployeeAddress) VALUES ('+"'"+ MyID +"'"+','+"'"+ postData.FatherName +"'" +','+"'"+ postData.MotherName +"'" +','+"'"+ postData.NameOfSpouse +"'" +','+"'"+ postData.SpouseAddress +"'" +','+"'"+ postData.ParentsAddress +"'" +','+"'"+ postData.EmployeeAddress +"'" +');',
        function(err,results){
            if(err)console.log(err);
            else
            console.log("Success");
            connection.end() ;
            res.redirect("/addContact");

        });

});

}

共有1个答案

戈念
2023-03-14

由于您有一个格式正确的对象,因此应该使用:

connection.query('INSERT INTO EmployeeContracts SET ?', postData, function(err, results) {
  if (err) {
    console.error(err);
  } else {
    res.redirect('/addContract');
});

这样更安全更干净。还有,我不认为您必须在处理查询之后显式地结束连接。

为了避免在第一个查询结束之前执行第二个查询,只需将这些查询拆分为两个函数,并将MyId作为回调传递给使用post数据创建的对象进行插入。

 类似资料:
  • 问题内容: 我想保存额外的信息,然后再将总订单发送到Paypal。对于每一项,我都在MySQL数据库中创建了一个要存储的列。现在,我正在考虑将其保存为一个数组,以后可以在创建PHP页面时阅读。多余的字段取自输入表单字段。 通过使用数组,可以确保不混淆信息吗? 问题答案: 您可以使用/ 存储数组。使用该解决方案,它们不能轻易地从其他编程语言中使用,因此您可以考虑使用/ 代替(它为您提供了广泛支持的格

  • 这是使用PHP将数据从(HTML)表单保存到MySQL数据库的规范问答。 如果您正在尝试执行以下操作,则此操作适用于您: 接受HTML表单上的用户输入 使用PHP脚本处理输入 将所述输入存储到MySQL数据库中。 过去提出的不应使用的类似问题的例子: 连接PHP代码并将表单提交到mySQL数据库 使用PHP/html表单插入mySQL-不工作 如何使用PHP将html表单数据传递到mySQL db

  • 问题内容: 我的客户在php + mysql中创建了一个脚本,该脚本将图像直接保存在数据库中,并且每个图像都有这样的url:www.example.com/image.php?id=421 您认为这是一个非常错误的解决方案?我应该重建所有站点吗? 每天大约有1000次访问,数据库中大约有600张图像。 问题答案: 图像文件是文件,除非有充分的理由将它们存储在数据库中,否则它们应属于文件系统,在文件

  • 问题内容: 我想将变量插入到我的数据库中,其中一些是php可以正常工作,但是问题是javascript变量,它不起作用。我对此很陌生,任何帮助都将很好。 这是我的第一个问题,对不起,如果我把代码块弄错了。 应该发生的是,当我按下按钮时,它将时间保存在变量中,第二次按下按钮时,它将时间保存在另一个变量中,现在我希望将这些时间变量保存在数据库中。 谢谢你。 问题答案: 阿贾克斯工作: 谢谢你的建议。

  • 我的ejs中有一个带有几个复选框的表单。在应用程序中,用户应该能够通过选中复选框来选择他的兴趣,这应该保存到sqlite数据库表中。我正在通过bootstrap构建表: (不确定要选择哪种类型,所以我将其设置为“文本”,但这很可能是错误的?)。我的表单如下所示 null 我发现这篇文章用javascript将结果复选框保存到sqlite数据库中,并尝试将其转换到我的server.js中 (类似这样

  • 问题内容: 我从用户处以字符串格式获取日期,并且当前在创建Schema对象和保存之前在控制器中将其转换为Date。有没有一种方法可以将这种逻辑转换为模型,因为在我看来,模型是正确的选择 目前,我正在这样做 在旁注中,如何断言是否要在自定义函数检查中处理参数。就像是 问题答案: 虽然我不确定的含义,但是我很确定您正在寻找Schema对象函数,该函数是Mongoose中间件的一部分,允许在保存数据之前