where子句中的Javascript SQL请求错误字段错误
仅当同一电子邮件的分数不大于当前分数时,代码才会更新分数,相反,它会显示错误:where子句中的Javascript SQL请求错误字段错误,javascript,sql,node.js,Javascript,Sql,Node.js,仅当同一电子邮件的分数不大于当前分数时,代码才会更新分数,相反,它会显示错误: Error: Error: ER_BAD_FIELD_ERROR: Unknown column 'li' in 'where clause' function postScores(用户电子邮件、用户名、scoreValue、排行榜名称){ if(排行榜名称==“重影”| |排行榜名称===“PACMAN”| |排行榜名称==“总体”){ connection.query('UPDATE SCORES'+lead
Error: Error: ER_BAD_FIELD_ERROR: Unknown column 'li' in 'where clause'
function postScores(用户电子邮件、用户名、scoreValue、排行榜名称){
if(排行榜名称==“重影”| |排行榜名称===“PACMAN”| |排行榜名称==“总体”){
connection.query('UPDATE SCORES'+leadboardname+'SET SCORES='+scoreValue+'其中分数<'+scoreValue+'和用户电子邮件='+useremail,
函数(错误、行、字段){
如果(错误){
log(“更新失败。正在尝试插入”);
日志(“错误:+err”);
connection.query(
“插入分数+排行榜名称+”(用户电子邮件、用户名称、分数)值(?,?)[
useremail,username,scoreValue
],
函数(错误、行、字段){
如果(错误){
console.log(“完全故障。系统关闭”);
}否则{
console.log(“Success.Inserted new Scores”);
}
});
}
});
}否则{
//参考不存在的排行榜
return console.log('名称'+leadboardname+'的指定排行榜不存在');
}
}
在更新查询中,不要将原始数据连接到值中,使用占位符并为值传递数组,方法与插入查询相同
未加引号的字符串值可能导致SQL语法错误。通过使用占位符,您不需要处理值中的引号
connection.query('UPDATE SCORES_' + leaderboardName + ' SET SCORES = ? WHERE SCORES < ? AND USER_EMAIL = ?',
[scoreValue, scoreValue, useremail],
function (err, rows, fields) {
connection.query('UPDATE SCORES.'+leadboardname+'SET SCORES=?其中SCORES<?和USER_EMAIL=?'),
[scoreValue,scoreValue,useremail],
函数(错误、行、字段){
用户的电子邮件是否应该加引号(当您插入字符串时)?使用占位符比加引号更好。
connection.query('UPDATE SCORES_' + leaderboardName + ' SET SCORES = ? WHERE SCORES < ? AND USER_EMAIL = ?',
[scoreValue, scoreValue, useremail],
function (err, rows, fields) {