在MySQL NodeJS中选择查询

rt4zxlrg  于 2022-12-29  发布在  Node.js
关注(0)|答案(1)|浏览(131)

我正在为属性表搜索路线,用户可以输入城市,州,街道_* 地址,最小金额,最大 *_金额来搜索不同的属性。我的问题是,如果用户只输入一个或两个字段搜索应该只过滤这些字段。如果用户不输入任何参数,它应该显示每个属性。

const sqlQuery = `SELECT * FROM property WHERE state = ? AND city = ? AND street_address = ?  AND min_amount >= ? AND max_amount <= ?;  `
  const values = [req.body.state, req.body.city, req.body.street_address ,req.body.min_amount,req.body.max_amount];
  let data = [];
  db.query (sqlQuery, values, function (err, results, fields) {
    if (err) {
      console.log(err)
    }
    if (results.length >= 1) {
}
goqiplq2

goqiplq21#

您需要手动构造sqlQuery,方法是检查每个参数是否存在,如果存在,则为每个参数单独追加相应的WHERE子句。

相关问题