在sql中模糊查询的语句为:
select * from 表名 where 字段名 like '%e%';
错误的写法:
r.get('/sp/:tit',(req,res,next)=>{
console.log(req.params);
var mz=req.params.tit;
pool.query('select * from sp where tit like '%?%' ',[mz],(err,a)=>{
if(err){
next(err);
return;
}
//a代表SQL命令执行成功
console.log(a);
//结果是数组,如果是空数组用户不存在,否则查询成功
if(a.length===0){
res.send({code:501,msg:'该商品不存在'})
}else{
res.send({code:200,msg:'查询成功',data:a})
}
})
});
正确的写法:
r.get('/sp/:tit',(req,res,next)=>{
//获取get传递的参数
console.log(req.params);
var mz="%"+req.params.tit+"%";
pool.query('select * from sp where tit like ? ',[mz],(err,a)=>{
if(err){
next(err);
return;
}
//a代表SQL命令执行成功
console.log(a);
//结果是数组,如果是空数组用户不存在,否则查询成功
if(a.length===0){
res.send({code:501,msg:'该商品不存在'})
}else{
res.send({code:200,msg:'查询成功',data:a})
}
})
});
注意需要将%和获取的内容拼接再保存到声明的变量中。