javascript - Node.js API 与 express 和 mysql - WHERE IN 和带有多个逗号分隔值的绑定(bind)参数

标签 javascript mysql sql node.js express

我有一个像这样的网址...其中多个(可以将逗号分隔的值添加到网址中)

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/

相关文章:

mysql - 在数据库中搜索多个相同的条目

sql - 仅前 10 行的总和

javascript - 在 html <div> 中显示 php 结果?

javascript - 如何在 JavaScript 中制作水波纹/闪闪发光的动画?

javascript - 父类更改的 jQuery 子项?

javascript - 使用 CasperJS 从下拉框中获取选项值

php - 在带有 wp_usermeta 表的 mysql 查询中使用 GROUP_CONCAT

php - 为什么这个 SQL 不正确(MySQL)?

sql - 需要SQL查询以查找没有子记录的父记录

javascript - 后台脚本托管应用程序 chrome