首页 > 解决方案 > 使用节点 js 中的 where 子句和 express API 选择查询会引发错误

问题描述

我的下面代码显示出错误,而选择查询正在使用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);
})

};

谢谢

标签: mysqlnode.jsexpressangular6

解决方案


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

而且由于您正在尝试prepareSQL 查询,因此该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)
  }
);


推荐阅读