首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有express & mysql的Node.js API -在搜索参数中搜索多个值

问带有express & mysql的Node.js API -在搜索参数中搜索多个值
EN

Stack Overflow用户
提问于 2018-02-21 19:03:12
回答 1查看 985关注 0票数 0

我当前的查询如下所示:

代码语言:javascript
复制
router.get('/search?', function(req, res, next) {
    var title = req.query.title;
    var sql = "SELECT * from users WHERE title = ?"; 
    connection.query(sql, [title], function (error, results, fields) {
        res.json({"status": 200, "error": null, "response": results});
    });
});

如果我输入以下命令,它会起作用:

代码语言:javascript
复制
localhost:4001/api/v1/users/search?title=mr

但是我如何使用OR搜索多个值...如下所示:

代码语言:javascript
复制
localhost:4001/api/v1/users/search?title=mr,mrs,dr
EN

回答 1

Stack Overflow用户

发布于 2018-02-21 19:16:36

基本上,

如果查询参数中有多个逗号分隔值,则可以按,拆分它们并使用sql IN clause。

如果你只有一个参数值,那么你的方法已经可以正常工作了。

代码语言:javascript
复制
router.get('/search?', function(req, res, next) {
    var title = req.query.title;
    var sql;
    if (title.includes(",")) {
        var params = title.split(",");
        sql = "SELECT * from users WHERE title IN " + params;      
    } else {
        sql = "SELECT * from users WHERE title = " + title;      
    }
    connection.query(sql, function (error, results, fields) {
        res.json({"status": 200, "error": null, "response": results});
    });
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48904258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档