在 SQL 查詢 where city 子句中,當我放置字串 'delhi' 時,我得到了結果,但是當我放置了如下所示的變數時,我在 where 子句中出現了錯誤 unknown column delhi。如何解決問題?
router.get('/filter/:city', (req, res) => {
const location = req.params.city;
const singleQuoteLocation = location.replace(/"/g, "'");
connection.query(
`select * from weather_data where city=${singleQuoteLocation}`,
(err, results, field) => {
if (err) {
console.log(err);
} else {
res.status(200).send(results);
console.log(results);
}
}
);
});
uj5u.com熱心網友回復:
`select * from weather_data where city = \'${singleQuoteLocation}\' `
uj5u.com熱心網友回復:
您應該使用帶有值?占位符的準備好的陳述句city。然后,將一個 JS 變數系結到?.
router.get('/filter/:city', (req, res) => {
const location = req.params.city;
connection.query(
"SELECT * FROM weather_data WHERE city = ?", [location],
(err, results, field) => {
if (err) {
console.log(err);
}
else {
res.status(200).send(results);
console.log(results);
}
}
);
});
請注意,在使用準備好的陳述句時,無需location通過使用單引號括起來之類的方式來處理變數。相反,通過準備好的陳述句讓您的 MySQL 驅動程式擔心如何處理這個問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/392302.html
標籤:javascript mysql 节点.js
