我正在使用node.js编写API,并且尝试通过在参数中传递事件的ID来获取事件的详细信息

时间:2019-11-19 20:06:00

标签: node.js

我正在使API依赖于node.js,并且试图通过在参数中传递事件的ID来获取事件的详细信息

app.get('/evenement/:id', (req, res) => {
    var post_data = req.body;  //Get POST params

    const id = post_data.id_evenement;

    con.query('SELECT * FROM `evenement` WHERE id_evenement =' ,{id},  (error, result) => {
        if (error) throw error;

        res.send(result);
    });
});

我收到一个错误:

  

代码:“ ER_PARSE_ERROR”,

     

errno:1064,    sqlMessage:“您的SQL语法有误;请查看手册,   对应于您的MySQL服务器版本,以获取在“第1行”附近在“”附近使用的正确语法,

     

sqlState:“ 42000”,

     

索引:0,

     

sql:'SELECT * FROM`evenement` WHERE id_evenement ='

2 个答案:

答案 0 :(得分:0)

您的sql语句不完整,请尝试以下操作(在末尾添加?并在参数数组中添加id

con.query('SELECT * FROM `evenement` WHERE id_evenement = ?' ,[id],  (error, result) => {

您可以在这里看看如何构成查询https://www.w3schools.com/nodejs/shownodejs_cmd.asp?filename=demo_db_where_placeholder

答案 1 :(得分:0)

您的查询有误

con.query('SELECT * FROM `evenement` WHERE id_evenement =?' ,[id],  (error, result) => {
    if (error) throw error;

    res.send(result);
});

更新: 由于您没有获取任何数据,因此请注意您也在尝试获取ID错误

const id = req.params.id;