【问题标题】:How to pass the data from modal to MYSQL using VueJS如何使用 VueJS 将数据从模态传递到 MYSQL
【发布时间】:2023-03-14 03:01:01
【问题描述】:

如何使用 VueJs 将使用模式的表中的现有数据更新为 MYSQL?

我不知道如何做到这一点,我已经阅读了一些教程但没有得到它,所以请帮忙。

下面是我的客户端代码

<button class="btn btn-success" v-b-modal="'modal3-' + result.Memb_ID">Edit</button>
<b-modal
            :id="'modal3-' + result.Memb_ID"
            title="Update Details"
            @show="resetModal"
            @hidden="resetModal"
            @ok="editUser()"
          >
            <form ref="form" @submit.stop.prevent="handleSubmit">
              <b-form-group
                :state="nameState"
                label="Member ID"
                label-for="member-input"
                invalid-feedback="Member ID is required"
              >
                <b-form-input
                  id="member-input"
                  v-model="result.Memb_ID"
                  :state="nameState"
                  required
                ></b-form-input>
              </b-form-group>
              <b-form-group
                :state="nameState"
                label="Name"
                label-for="name-input"
                invalid-feedback="First Name is required"
              >
                <b-form-input
                  id="name-input"
                  v-model="result.First_Name"
                  :state="nameState"
                  required
                ></b-form-input>
              </b-form-group>
            </form>
          </b-modal>


 /* Edit User Details. */
    editUser() {
      let insertData = {
        Memb_ID: this.memberModel,
        First_Name: this.firstModel
      };
      axios
        .put("http:/localhost:8080/api/update/user", insertData)
        .then(response => {
          console.log(response);
        });
    }

在我的后端使用 NodeJS

router.put('/update/user/:id', function (req, res) {
    let query = "Update Member SET Memb_ID='" + req.body.Memb_ID + "', First_Name='" + req.body.First_Name + "', Middle_Name='" + req.body.Middle_Name + "', Last_Name='" + req.body.Last_Name + "', Address='" + req.body.Address + "', url='" + req.body.url + "' WHERE id=" + req.params.id;
    myDB.query(query, function (err, results) {
        if (err) throw err;
        res.send({
            Success: results
        })
    })
})

【问题讨论】:

    标签: mysql node.js vue.js vuejs2


    【解决方案1】:

    您需要在后端为 Mysql 编写 UpSERT 查询

    INSERT INTO table (id, name, age) VALUES(1, "A", 19) ON DUPLICATE KEY UPDATE    
    name="A", age=19
    

    你需要检查req中的Params。

    【讨论】:

      【解决方案2】:

      抱歉,这并不是您要寻找的答案,但您确实需要了解 SQL 注入漏洞。此代码不应投入生产。

      【讨论】:

      • 嗨 Joost,我刚刚才知道 SQL 注入,哈哈。我会重写代码,不会部署到生产环境中。
      猜你喜欢
      • 1970-01-01
      • 2018-08-19
      • 2019-03-08
      • 2019-09-20
      • 2018-01-15
      • 1970-01-01
      • 1970-01-01
      • 2019-03-22
      • 2018-08-20
      相关资源
      最近更新 更多