Javascript 无法使用nodeJs从Mysql中删除行

Javascript 无法使用nodeJs从Mysql中删除行,javascript,mysql,node.js,express,Javascript,Mysql,Node.js,Express,我已经使用nodeJS和MySql创建了一个宠物商店web应用程序。我能够成功地在数据中插入宠物信息,但我无法使用宠物id删除宠物。我收到以下错误 [ 代码:“ER\u截断\u错误的\u值”, errno:1292, sqlMessage:“截断了不正确的双精度值:'pa04', sqlState:'22007', 索引:0, sql:“从宠物id=pet\u id='pa04'的宠物中删除” ] 但是当我把pet_id作为整数,即;5什么都没有发生,甚至错误也没有出现。我曾尝试在ejs中放入A

我已经使用nodeJS和MySql创建了一个宠物商店web应用程序。我能够成功地在数据中插入宠物信息,但我无法使用宠物id删除宠物。我收到以下错误

[ 代码:“ER\u截断\u错误的\u值”, errno:1292, sqlMessage:“截断了不正确的双精度值:'pa04', sqlState:'22007', 索引:0, sql:“从宠物id=
pet\u id
='pa04'的宠物中删除” ]

但是当我把pet_id作为整数,即;5什么都没有发生,甚至错误也没有出现。我曾尝试在ejs中放入Ajax代码,但失败了。请帮帮我。 提前感谢:)

*******dogs\u home.ejs*******
宠物id
宠物类
繁殖
重量(千克)
年龄(岁)
高度(英寸)
毛皮
成本
删除
*******动物标识添加.ejs*******
添加
*******ani_add.ejs********
添加

您确定删除方法吗? 在我看来应该是这样的

    let query = "DELETE FROM pets WHERE pet_id=?";
    let values= [req.body.pet_id];
    connection.query(query, values, function(err,results){
        if(err) {
            throw err;
        }
        res.redirect("/animals");
    });
如果这不是一个解决方案,你能不能

  • console.log
    生成的sql查询失败
  • 显示
    show create table pets的sql结果
  • 删除所有不必要的html部分
这将有助于集中精力解决这个问题

    app.post('/delete',(req, res) => {
    let q = "DELETE FROM pets WHERE pet_id=?";
    let dog = [req.body.pet_id];
    connection.query(q,dog,function(err,results){
        if(err) throw err;
        res.redirect("/animals");
});
您不必将dog称为json理解和调试sql查询的一个好方法是在mysql本地输入它们,
这个在您的查询中使用的被dog variables值完全替换,只有将其作为字符串或int才有意义。

如果您的petid是'pa04',让人们输入id是非常不寻常的,它通常是一个隐藏的参数谢谢它真的为我工作了!@法维兰
    let query = "DELETE FROM pets WHERE pet_id=?";
    let values= [req.body.pet_id];
    connection.query(query, values, function(err,results){
        if(err) {
            throw err;
        }
        res.redirect("/animals");
    });
    app.post('/delete',(req, res) => {
    let q = "DELETE FROM pets WHERE pet_id=?";
    let dog = [req.body.pet_id];
    connection.query(q,dog,function(err,results){
        if(err) throw err;
        res.redirect("/animals");
});