首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >node.js mysql查询由于数字周围的引号而无法运行

node.js mysql查询由于数字周围的引号而无法运行
EN

Stack Overflow用户
提问于 2016-02-25 08:07:10
回答 2查看 756关注 0票数 1

我用node.js mysql编写了这个mysql查询并在HTTP中执行了restify。https://github.com/felixge/node-mysql

代码语言:javascript
运行
复制
var api_get_func = function (app, url_path) {
    function respond(req, res, next) {
        var id= req.query.id;
        var limit = req.query.limit;   

    var query_str =
        "SELECT table.sw_type, " +
        "FROM users " +
        "WHERE (id = ?) " + 
        "LIMIT ?"; //limit

    var var_arr = [id, limit];  

    var query = connection.query(query_str, var_arr, function (err, rows, fields) {}
        //SQL query ...
        return next();
    }

app.get(url_path, respond);
}

HTTP为http://127.0.0.1/read_sw?id=51&limit=1

报告的错误是查询格式不正确。实际的查询如下;

代码语言:javascript
运行
复制
SELECT table.sw_type, 
            FROM users 
            WHERE (id = 51) 
            LIMIT '1'

我认为问题是LIMIT '1'。我认为解决办法是使查询看起来像这样;

代码语言:javascript
运行
复制
SELECT table.sw_type, 
            FROM users 
            WHERE (id = 51) 
            LIMIT 1

如何修改node.js代码?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-25 08:11:59

这不是关于mysql..。

req.query中的任何内容都是一个字符串:

怎么样

代码语言:javascript
运行
复制
var var_arr = [id, parseInt(limit)];
票数 2
EN

Stack Overflow用户

发布于 2016-02-25 08:33:58

您也可以使用

代码语言:javascript
运行
复制
var limit = Number(req.query.limit);  
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35621601

复制
相关文章

相似问题

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