请教一个基础问题关于参数和sql构造?
发布于 8 年前 作者 vangehome 2972 次预览 最后一次回复是 8 年前 来自 问答
router.get("/goods/:goodsid",function (req,res,next) {
var sql="select * from table where ";
if(req.query.a!=null) {
console.log(req.query.limit);
sql+=" a="+req.query.a;
}
if(req.query.b!=null){
sql+=" and b="+req.query.b;
}
if(req.query.c!=null){
sql+=" and c="+req.query.c;
}
//...
})
1、为了防sql注入一般是怎么做的? 2、那些可选参数,比如从客户端页面传过来的a,b,c 三个参数可能是可选的,所以怎么灵活判断是否有参数并且传入数据库操作?
3 回复
SQL 预编译,表现到 API 层面,一般是“点位符”形式。
!!req.query.a就好了吧,都是字符串。