Javascript 无法使用nodeJs从Mysql中删除行
我已经使用nodeJS和MySql创建了一个宠物商店web应用程序。我能够成功地在数据中插入宠物信息,但我无法使用宠物id删除宠物。我收到以下错误 [ 代码:“ER\u截断\u错误的\u值”, errno:1292, sqlMessage:“截断了不正确的双精度值:'pa04', sqlState:'22007', 索引:0, sql:“从宠物id=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
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");
});
如果这不是一个解决方案,你能不能
生成的sql查询失败console.log
- 显示
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");
});