使用节点JS和Express API中的where子句,选择查询引发错误

时间:2018-12-22 10:34:12

标签: mysql node.js express angular6

我的下面的代码在select查询与where子句一起使用时显示错误 请尽快给我回复

exports.findById = (req, res) => {  
const id = req.params.id;
con.query('SELECT * FROM customers WHERE id = ?', id,(err, result)=>{
    if(err) throw err;
    res.json(result.id);
})

};

谢谢

1 个答案:

答案 0 :(得分:0)

con.query方法需要有效的SQL语法,在您的情况下,它看起来像这样SELECT * FROM customers WHERE id = 1

由于您要尝试prepare SQL查询,因此con.fomrat方法是您要寻找的方法。

因此最终结果应类似于以下内容

exports.findById = (req, res) => {  
const id = req.params.id;
con.query(
  con.format(
    'SELECT * FROM customers WHERE id = ?',
    [
      id,
    ]
  ),
  (err, result) => {
    if(err) throw err;
    res.json(result.id)
  }
);