Javascript 使用nodejs在mysql中插入多个值会导致解析错误
我需要使用nodejs在mysql中插入一条记录。我可以通过在查询中键入值直接插入。我可以使用query+value语法来连接这些值,但是读取这些值会带来SQL注入的风险Javascript 使用nodejs在mysql中插入多个值会导致解析错误,javascript,mysql,node.js,Javascript,Mysql,Node.js,我需要使用nodejs在mysql中插入一条记录。我可以通过在查询中键入值直接插入。我可以使用query+value语法来连接这些值,但是读取这些值会带来SQL注入的风险 let sql=“插入游戏类型(strGameType、intTeamSize、intMaxPlayers、intMinPlayers)值?”; var gametype=“Solo Zonewars”; var-teamSize=1; var=16; var-minPlayers=10; var值=[游戏类型、团队规模、最
let sql=“插入游戏类型(strGameType、intTeamSize、intMaxPlayers、intMinPlayers)值?”;
var gametype=“Solo Zonewars”;
var-teamSize=1;
var=16;
var-minPlayers=10;
var值=[游戏类型、团队规模、最大玩家、最小玩家];
log(“作为id连接的””+connection.threadId);
查询(sql、值、函数(错误、结果、字段){
连接。释放();
如果(!err){
控制台日志(结果);
}else控制台日志(err);
});
如果查询有4个值参数,那么还应该有4个问号。尝试将第一行更改为:
let sql ="INSERT INTO gametypes (strGameType, intTeamSize, intMaxPlayers, intMinPlayers) Values (?, ?, ?, ?) ";
我建议您不要使用数组,而是用这个数组替换查询
let sql=“在游戏类型(strGameType、intTeamSize、intMaxPlayers、intMinPlayers)中插入值(?,?,?)”代码>您可以尝试将值包装到数组中,因为此方法用于插入多行:
let sql ="INSERT INTO gametypes (strGameType, intTeamSize, intMaxPlayers, intMinPlayers) Values ? ";
var gametype ="Solo Zonewars";
var teamSize =1;
var maxPlayers = 16;
var minPlayers = 10;
var values = [
[gametype, teamSize, maxPlayers, minPlayers]
];
console.log("connected as id '" + connection.threadId);
connection.query(sql, [values], function(err, result, fields) {
connection.release();
if(!err) {
console.log(result);
}else console.log(err);
});