Javascript 我给他们ID时SQL没有更新
有人能告诉我为什么没有更新吗?该id存在于表中,但不会更新Javascript 我给他们ID时SQL没有更新,javascript,node.js,sqlite,Javascript,Node.js,Sqlite,有人能告诉我为什么没有更新吗?该id存在于表中,但不会更新 let sql = `UPDATE Users SET MMR = MMR-30, Lose = Lose+1 WHERE Nameid = ${data[0].Team1id}`; db.run(sql, data, function(err) { if (err) { return console.error(err.messa
let sql = `UPDATE Users
SET MMR = MMR-30, Lose = Lose+1
WHERE Nameid = ${data[0].Team1id}`;
db.run(sql, data, function(err) {
if (err) {
return console.error(err.message);
}
console.log(`Row(s) updated: ${this.changes}`);
});
但是当我编辑它时它会更新,但是我需要它来处理Nameid。因为如果team1更改其名称,它将无法在表中找到自己!同时你不能改变你的身份证
let sql = `UPDATE Users
SET MMR = MMR-30, Lose = Lose+1
WHERE Name = "${data[0].Team1name}"`; // this was changed
db.run(sql, data, function(err) {
if (err) {
return console.error(err.message);
}
console.log(`Row(s) updated: ${this.changes}`);
});
明白了!如果有一天有人遇到同样的问题,我会把它留在这里
let sql1 = `UPDATE Users
SET MMR = MMR+25, Win= Win+1
WHERE Nameid = ?`;
db.run(sql1, data[0].Team1id, function(err) {
if (err) {
return console.error(err.message);
}
console.log(`Row(s) updated: ${this.changes}`);
});
尝试console.log数据[0].Team1id并查看它提供了什么,
我真的看不出代码中有任何问题,只是team1id可能不正确
还有一件事
您需要保护SQL,因为SQL注入很容易受到攻击。搜索node.js secure for MySQL injection。Im从控制台日志中返回:80267260358295550。它实际上是表中存在的ID。我将搜索sql注入!谢谢仍然看不出为什么它没有更新…在第二个查询中,您使用${data[0].Team1name},而在第一个查询中,您不使用---,请尝试它可能是问题尝试过,仍然相同。我对此感到非常惊讶,我找不到为什么它不更新eNameId是表的一部分?如果不是,我真的很抱歉,我从来没有这样使用SQL:\