Tôi thực hiện các truy vấn SQL được tham số hóa như thế này:
var sql = require('mssql');
var myFirstInput = "foo bar";
var mySecondInput = "hello world";
sql.input('inputField1', sql.VarChar, myFirstInput);
sql.input('inputField2', sql.VarChar, mySecondInput);
sql.query("SELECT * FROM table WHERE field1 = @inputField1 OR field2 = @inputField2")
.then(function(results)
{
//do whatever you want with the results
console.log(results)
})
.catch(function(error)
{
//do whatever when you get an error
console.log(error)
})
Điều xảy ra ở đây là sql.input('inputField1', sql.VarChar, myFirstInput)
sẽ thay đổi @inputField1
với biến có tên myFirstInput
. Điều tương tự sẽ xảy ra cho @inputField2
với mySecondInput
.
Điều này sẽ giúp nó khỏi việc tiêm SQL