[英]How can I add a new patient mysql?
我想插入一个新患者,首先我必须插入用户,但我不知道如何使用外键('id_user')插入我之前插入的用户 ID。
这是我的代码:
app.post("/api/patient", async function(req, res){
let sql = "INSERT INTO users (email, password, name, surnames, sex, birth_date) VALUES ('"+req.body.email+"','"+req.body.password+"','"+req.body.name+"','"+req.body.surnames+"','"+req.body.sex+"','"+req.body.birth_date+"')";
const user = await query(sql);
var id = user[0].id;
console.log(id);
var sql2 = "INSERT INTO patients (sip, native_language, dependent, id_user) VALUES ('"+req.body.sip+"','"+req.body.native_language+"','"+req.body.dependent+"','"+id+"')";
const patient = await query(sql2);
response.body = {
code: 200,
message: "Solicitud exitosa",
data: patient
}
res.status(response.body.code);
res.send(response);
});
我有以下错误:
var id = user[0].id;
TypeError: Cannot read properties of undefined (reading 'id')
我是初级程序员,我知道我的代码容易受到 sql 注入的攻击。
当执行 INSERT 或 UPDATE 语句时 mysql 返回一个包含插入行 id 的 object,所以: Change var id = user[0].id;
到var id = user.insertId;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.