我有一个像这样的网址...其中多个(可以将逗号分隔的值添加到网址中)
localhost:4001/api/v1/users/search?title=mr,dr
这是我的查询:
router.get('/search?', function(req, res, next) {
var title = req.query.title;
var paramTitle = '\'' + title.split(',').join('\',\'') + '\'';
var setParams = [];
if (title) {
setParams = [paramTitle];
}
var sql = "SELECT * from users WHERE title IN (?)";
connection.query(sql, setParams, function (error, results, fields) {
res.json({"status": 200, "error": null, "response": results});
});
});
但我收到错误:
sql "SELECT * from users WHERE title IN '(\\'mr\\',\\'dr\\')' LIMIT 100"
我怎样才能得到这个:
var sql = "SELECT * from users WHERE title IN ('mr','dr')";
最佳答案
绑定(bind)需要一个数组,因此您不需要自己手动连接。
var paramTitle = title.split(',');
var setParams = [];
if (title) {
setParams = [paramTitle];
}
关于javascript - Node.js API 与 express 和 mysql - WHERE IN 和带有多个逗号分隔值的绑定(bind)参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48930721/