我正在使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 ='
答案 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;