我正在export.update按照下面的代碼創建一個用戶控制器。
一旦一個POST請求是在前端提交的控制器應做到以下幾點:
- 上傳檔案夾中的檔案
updload; - 在 MySql 資料庫中插入圖片的名稱。
當我單擊提交按鈕時,檔案在專用檔案夾上成功上傳,但沒有資料傳輸到 MySql。相反,我在終端上收到了這條訊息:
sqlMessage: "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'WHERE id = '203'' at line 1", sqlState: '42000', index: 0, sql: "UPDATE user SET first_name='John' ,last_name='Doe', profile_image='rocket-lab-New-Zealand.jpeg',WHERE id = '203'"
任何關于正確道路的建議/方向都受到高度贊賞。
exports.update = (req, res) => {
message = '';
if (req.method == 'POST') {
var post = req.body;
var first_name = post.first_name;
var last_name = post.last_name;
if (!req.files)
return res.status(400).send('No files were uploaded.');
var file = req.files.profile_image;
var profile_image = file.name;
console.log(profile_image)
if (file.mimetype == "image/jpeg" || file.mimetype == "image/png" || file.mimetype == "image/gif") {
file.mv('./upload/' file.name, function (err) {
if (err)
return res.status(500).send(err);
connection.query('UPDATE user SET first_name=? ,last_name=?, profile_image=?,WHERE id = ?', [first_name, last_name, profile_image, req.params.id], (err, rows) => {
if (!err) {
connection.query('SELECT * FROM user WHERE id = ?', [req.params.id], (err, rows) => {
if (!err) {
res.render('edit-crew', { rows, alert: `${first_name} has been updated.` });
} else {
console.log(err);
}
console.log('The data from user table:\n', rows);
});
} else {
console.log(err);
}
console.log('The data from user table:\n', rows);
});
});
}
}
}
uj5u.com熱心網友回復:
UPDATE user SET first_name=? ,last_name=?, profile_image=?,WHERE id = ?
在 WHERE 子句之前有一個額外的“,”。
使固定:
UPDATE user SET first_name=? ,last_name=?, profile_image=? WHERE id = ?
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/381754.html
