gpt4 book ai didi

javascript - 无法将 React 更新放入 MySQL 数据库

转载 作者:行者123 更新时间:2023-11-29 15:51:27 24 4
gpt4 key购买 nike

我从 friend 那里得到了一个项目,该项目使用了 React.js、Node.js、Express.js 和 MySQL 技术。当我处理 CRUD 部分时,我只能更新输入,但无法更改数据库。

这是我的 React 代码:

import React, { Component } from "react";
import axios from "axios";
import { InputText } from "primereact/inputtext";
import { Button } from "primereact/button";

export class EditFK extends Component {
constructor() {
super();
this.state = {
id: "",
nama: null,
fakultas: []
};
}

componentDidMount() {
axios.get("http://localhost:3210/fakultas").then(getdata => {
this.setState({
fakultas: getdata.data
});
});
}

saveData() {
axios
.put(`http://localhost:3210/fakultas/edit/${this.params}`)
.then(postdata => {
this.setState({
dataTableValue: postdata.data
});
});
}

render() {
return (
<div className="p-grid p-fluid">
<div className="p-col-12 card card-w-title">
<h1>Edit Fakultas</h1>
</div>
<div className="p-col-6">
<div className="card card-w-title">
<h4>Ubah Fakultas</h4>
<div className="p-grid">
<div className="p-col-12 p-md-6">
<InputText placeholder="Nama" type="text" />
</div>
</div>
</div>
</div>
<div className="p-col-12">
<div className="p-col-3">
<Button
label="Update"
icon="pi pi-pencil"
onClick={this.saveData()}
/>
</div>
</div>
</div>
);
}
}

这是我的后端代码:

//get fakultas by id
app.get("/fakultas/:id", (req, res) => {
var sql = `SELECT * FROM fakultas WHERE id = ${req.params.id}`;
db.query(sql, (err, result) => {
if (err) {
throw err;
} else {
res.send(result);
}
});
});

//edit fakultas by id
app.put("/fakultas/edit/:id", (req, res) => {
console.log(req.body);
var data = {
id: req.body.id,
nama: req.body.nama
};
var sql = `UPDATE fakultas set ? WHERE id = ${req.params.id}`;
db.query(sql, data, (err, result) => {
if (err) {
throw err;
} else {
res.send({
status: `Data Berhasil di Update`,
id: req.body.id,
nama: req.body.nama
});
}
});
});

下面的链接是 fakultas 表中的列:

fakultas table column screenshot

最佳答案

我确实了解有关 sql 查询的基础知识,但我认为您应该将问号替换为您要设置的列的名称:

  var sql = `UPDATE fakultas set columnName = newValue WHERE id = ${req.params.id}`;

另外:我为你找到了this,我认为用户发布的代码就是你需要的

关于javascript - 无法将 React 更新放入 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56752050/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com