【问题标题】:expressjs database query using user id?expressjs数据库查询使用用户ID?
【发布时间】:2017-01-23 03:47:24
【问题描述】:
app.get('/user/:id', function(req, res){
    select(req.params.id, res); 
});

function select(id, res) {
    connection.query('SELECT * FROM test WHERE name = ?' , function(err, rows){
        res.render('users', {users : rows});
    });
}

这是我的 users.jade:

html
    head
    title Welcome

    body
    #container
        - each user in users
            p=user.name+':'+user.number

我只是想使用 id 进行选择查询。 SQL 表只有字段名称、编号、/user/tom,例如只会在页面上吐出 Tom:11 或其他内容。

我收到错误“无法准备好未定义的属性'长度',所以我假设我设置查询的方式有问题。我不确定我做错了什么。

【问题讨论】:

    标签: javascript mysql node.js express


    【解决方案1】:
    function select(id, res) {
        connection.query('SELECT * FROM test WHERE number = "'+id+'"' , function(err, rows){
            res.render('users', {users : rows});
        });
    }
    

    假设数字就是您所说的 id。 您收到该错误是因为未定义行,因为没有返回任何内容,并且 err 很可能是一个错误。

    我喜欢用这样的东西:

    if(err || row==undefined){ your_handle_error_function(); return; }
    

    避免这种情况

    【讨论】:

    • 啊!谢谢你!我刚刚发现了“?”语法实际上来自 php。 :P 显然对这一切都是陌生的。欣赏它。
    猜你喜欢
    • 2023-03-26
    • 2015-12-21
    • 2011-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多