【发布时间】:2016-12-30 20:13:19
【问题描述】:
我正在尝试使用 pgp-promise 库编写一个简单的查询。我的原始实现如下所示:
var bar = function(orderBy){
var qs = 'select * from mytable order by ${orderBy};';
return db.many(qs,{orderBy:orderBy});
}
...
bar('id').then(...)
但这给出了non-integer constant in ORDER BY的错误
我还尝试在${orderBy} 周围添加引号并在 orderBy 参数中添加双引号无济于事。我通过var qs = 'select * from mytable order by "' + orderBy + '";' 得到了一个可行的解决方案,尽管我不希望在项目中使用这样的代码应该很明显。
我的问题:有没有办法让 pg-promise 构建一个带有不易受到 sql 注入攻击的 order by 子句的查询?
【问题讨论】:
标签: node.js pg-promise