Socket.io,Node.js:如何将javascript变量从javascript.js传递给mysql查询?



Socket.io, Node.js: 如何将javascript变量传递给javascript.js中的mysql查询?

当值为'222.222.222.222'

的变量尝试传递到 mysql 查询时会出现错误,但当值为'2'的变量传递到同一个 mysql 查询时,则不会出错。

任何帮助将不胜感激。

这会产生错误:

var javascriptVariable = '222.222.222.222';
$query = 'INSERT INTO misc_table (misc_field) VALUES ('+javascriptVariable+')';
connection.query($query, function(err, rows, fields) {
if(err){
console.log("An error ocurred performing the query.");
return;
}
console.log("Query succesfully executed: ", rows);
});

这不会给出错误:

var javascriptVariable = '2';
$query = 'INSERT INTO misc_table (misc_field) VALUES ('+javascriptVariable+')';
connection.query($query, function(err, rows, fields) {
if(err){
console.log("An error ocurred performing the query.");
return;
}
console.log("Query succesfully executed: ", rows);
});

从来没有想过以这种方式更新数据库。 第一。事实上,你尝试执行下一个代码

INSERT INTO misc_table (misc_field) VALUES (222.222.222.222)

第二。这是SQL注入的直接方法

三。尝试这样的事情

var javascriptVariable = '222.222.222.222';
let $query = 'INSERT INTO misc_table (misc_field) VALUES (?)';
connection.query(
$query,[ javascriptVariable ], 
function (...args) {
....
}
);

最新更新