问题遇到的现象和发生背景
后端向数据库更改update数据,用postman调试返回Okpacket,但是数据没存进去,为什么回返回Okpacket?
问题相关代码,请勿粘贴截图
/* 修改个人信息 */ 封装的changeMsgInfo方法,方便下面函数调用
static changeMsgInfo(myName,sex,className,stuNum,username){
return new Promise((resolve,reject)=>{
let sql="update myusers_db set my_name='"+myName+"',sex='"+sex+"',class_name='"+className+"',stu_num='"+stuNum+"' where username='"+username+"'"
this.query(sql).then(result=>{
console.log("走到result")
resolve(result)
}).catch(err=>{
console.log("写入失败了!!@")
reject("写入失败了!")
})
})
}
/* 修改个人信息 封装的changeMsg方法,方便接口调用 */
static async changeMsg(req,resp){
let body = req.body
let changeMsgData = await this.changeMsgInfo(body.myName,body.sex,body.className,body.stuNum,body.username)
if(changeMsgData.length!=0){
console.log("成功")
resp.send(changeMsgData)
} else{
console.log("失败")
console.log(changeMsgData)
resp.status(500).send("写入数据失败")
}
}
router.get('/changeMsg',function(req,res){
user.changeMsg(req,res)
})
运行结果及报错内容
这是终端打印的内容
运行结果显示成功,返回的changeMsgData是个Okpacket,但是数据库的数据没变动,sql语句检查了十几遍了,应该是没问题的!
我的解答思路和尝试过的方法
这是postman的结果
我想要达到的结果
想要将数据更新到数据库!要怎么改才能实现