NodeJ和MySQL ER_BAD_FIELD_ERROR

时间:2018-11-16 21:21:37

标签: mysql node.js express ejs

我有一个问题,我需要一个问题的帮助。所以问题是我有一条路线可以显示学生表的所有行,并且行得通,但是知道当我尝试下面的代码来搜索特定的student_id时会知道:

“无法查询用户:错误:ER_BAD_FIELD_ERROR:'where子句'中的未知列'undefined'”

我尝试使用queryString作为: 我的表具有student_id,firstName,lastName,checkIn和checkOut作为列。 它们都是VARCHARS。

queryString = SELECT * FROM students WHERE student_id = ${id}

queryString = SELECT * FROM students WHERE student_id = ?,然后getConnection()。query(queryString,[id],(err,rows,fields)=> {

但是我遇到同样的错误,我非常感谢您的帮助。 在我所有不同的搜索路线都可以正常工作后,为了在html中很好地显示数据,我将要实现的问题,但是我对此并不陌生,并且找不到任何可以帮助我解决该问题的东西。我希望它像MySQL一样显示为列表。那可能吗?我正在使用ejs视图引擎作为我的html页面。

// Route to search by id
router.get("/searchById", (req, res) => {

  const id = req.body.id

  queryString = `SELECT * FROM students WHERE student_id = ${id}`

  getConnection().query(queryString, (err, rows, fields) => {

    // If error occures 
    if(err) {
      console.log("Failed to query for users: " + err)
      res.sendStatus(500)
      return
    } 

    if(rows) {
      console.log(rows)
       console.log("We fetched Students successfully")
        res.json(rows)
    }

  })
})

1 个答案:

答案 0 :(得分:0)

对于GET请求,您应该使用req.query.id 对于发布请求,您应该使用req.body.id 在您的代码中,您使用了get请求并尝试获取req.body.id