【问题标题】:node.js + mysql Query from urlnode.js + mysql 从url查询
【发布时间】:2013-11-25 21:00:44
【问题描述】:

我是这个 node.js 的新手。我在我的 node.js 中使用 mysql。从 url 我正在构建 sql 查询。使用 1 个参数可以正常工作。

网址:

http://ipaddress:3002/users/Kappalur

通过使用以下代码,我提取了 Kappalur 及其工作正常:

app.get('/users/:level', function (req, res) {

connection.query("select * from levels where level4= '"+req.params.level+"'", function(err, rows, fields) {
res.writeHead(200, { 'Content-Type': 'application/json'});
            res.end(JSON.stringify(rows,null,"\n"));

Now my requirement is i want to make "level4" to be dynamic..

现在考虑网址是:

 http://ipaddress:3002/users/level4/Kappalur

现在如何更改上述代码以从 url 获取 2 个参数。帮我解决这个问题..提前谢谢。

【问题讨论】:

    标签: mysql node.js express


    【解决方案1】:

    据我了解,您正在为 node.js 使用 express 框架。

    要检索多个 URL 参数,请使用与您在帖子代码 sn-p 中使用的模式相同的模式:

    app.get('/users/:level/:name', function (req, res) {
        var level = req.params.level;
        var name = req.params.name;
    

    【讨论】:

    • @Subburaj 试试这个"select * from levels where " + req.params.level + " = '" + req.params.name + "'"(假设第二个参数是名称)
    • @Subburaj 是的,您的错误在于 SQL 语法。必须是 select * from levels where level4 = 'Kappalur' 而不是 select * from levels where 'level4' = 'Kappalur'
    • level4 不能是 int,因为您使用它作为列名。那么你构建 SQL 查询的方式就有问题了。
    • 作为var columnname = "level" + req.params.level
    • 我的问题是,当我检索结果时,考虑我的表 field1 field2 field3 field4 field5 中有 5 个字段。基于 field5 我必须执行另一个查询。所以是否可以知道该值在形成 json 之前提交了 5,因为正如我所说我必须执行另一个查询,查询结果应该用于形成 json ..
    猜你喜欢
    • 2013-08-24
    • 2017-06-06
    • 1970-01-01
    • 1970-01-01
    • 2017-07-11
    • 2015-01-09
    • 1970-01-01
    • 2014-03-31
    相关资源
    最近更新 更多