我想插入一個新患者,首先我必須插入用戶,但我不知道如何使用外鍵('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 注入的影響。
uj5u.com熱心網友回復:
執行 INSERT 或 UPDATE 陳述句時,mysql 回傳一個包含插入行 id 的物件,因此:更改var id = user[0].id;為var id = user.insertId;
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/468384.html
標籤:javascript mysql
上一篇:Vue.js:更改作為道具傳遞的物件是一種不好的技術嗎?
下一篇:排序函式意外行為
