输出始终给出[]

问题描述 投票:0回答:1

我正在尝试通过“ averageRating”过滤一些数据。

这是我的方法代码:

filterr(request, respond) {
        var averageRating = request.params.rating;
        var sql = "SELECT * FROM resreview.restaurants WHERE averageRating = ?";
        db.query(sql, [averageRating], function (error, result) {
            if (error) {
                throw error;
            }
            else {
                respond.json(result);
            }
        });
    }

我的sql语句在针对数据库进行测试时正在运行。但是,我一直得到[]作为结果。有人可以帮忙找出问题所在吗?非常感谢!

javascript mysql sql filter
1个回答
0
投票

问题是“?”因为数据库无法解析它。

都可以像这样添加avarageRating变量:

var sql = "SELECT * FROM resreview.restaurants WHERE averageRating = ${parseInt(avarageRating)}";

或者如果您使用的是ouchdb,则可以这样解析:

var sql = `SELECT * FROM resreview.restaurants WHERE averageRating = $1`;

其中$ 1是变量数组中的第一个变量。

© www.soinside.com 2019 - 2024. All rights reserved.