我用express和mysql在nodejs上制作了一個API。在 POST 方法中我沒有收到任何錯誤,但在 mysql 上將 al 值存盤為 0,如下所示:
1
0
0.00
0000-00-00
0
(1 是 ID 自增)
要使用 POSTMAN 測驗 post 方法,如下所示:
{
"Id" : null,
"Concepto" : "Desde POSTMAN",
"Monto" : 10,
"Fecha" : "1988-05-05",
"Tipo" : "Ingreso"
}
這就是功能
router.post('/', (req, res) => {
const { id,concepto,monto,fecha,tipo } = req.body;
mysqlConnection.query("INSERT INTO operaciones (Id, Concepto, Monto, fecha, Tipo) VALUES (?)", [req.body],(err, rows, fields) => {
if (!err) {
res.json({Status: "Operacion Saved"});
} else {
console.log(err);
}
});
});
任何建議,謝謝
uj5u.com熱心網友回復:
在沒有看到您的表定義的情況下,我假設資料庫引擎默認為0您獲得的值,因為查詢正在傳遞空值。
您應該?為要傳遞給查詢的每個輸入使用占位符。
此外,實際上并未使用解構的值。
請嘗試以下代碼:
router.post('/', (req, res) => {
const { id, Concepto, Monto, Fecha, Tipo } = req.body;
mysqlConnection.query("INSERT INTO operaciones (Concepto, Monto, Fecha, Tipo) VALUES (?, ?, ?, ?);", [Concepto, Monto, Fecha, Tipo], (err, results, fields) => {
if (!err) {
res.json({ Status: "Operacion Saved" });
} else {
console.log(err);
}
});
});
查詢中未使用通知id,因為您提到它設定為自動增量。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/471484.html
