Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
where子句中的Javascript SQL请求错误字段错误_Javascript_Sql_Node.js - Fatal编程技术网

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) {