我正在尝试找出一种方法来转义我的“预建”SQL查询中的单引号,我将其发送到泛型函数(我的所有查询都使用它)。
我尝试了转义npm插件,手动完成等。
这是我构建查询的代码位,当我输入例如“it's”时,由于特殊字符,dataString会出错:
exports.addEntry = (req, res, nomPage, nomTable, data) => {
Object.keys(data).forEach(function (k, id) {
console.log(data[k]);
if (data[k] != null) {
if (id > 0) {
columnString += `,`;
dataString += `,`;
}
columnString += `${[k]}`;
dataString += `'${data[k]}'`;
}
});
try {
if (!data) throw new Error("Input not valid");
if (data) {
var sqlQuery = `INSERT INTO ${nomTable} (${columnString}) VALUES (${dataString})`;
connect.connectDatabase(sqlQuery, (data, err) => {
[...]
我之前谈到的泛型函数是这样的:
var sql = require("mssql");
var config = require("../settings").config;
exports.connectDatabase = function (rawQuery, callback) {
var conn = new sql.ConnectionPool(config);
conn
.connect()
.then(function () {
var req = new sql.Request(conn);
req
.query(rawQuery)
.then(function (recordset) {
callback(recordset.recordset);
})
我的计划是让查询只使用一个函数,而不是很多做几乎相同事情的函数。
如果能提供帮助,将不胜感激。
冉冉说
皈依舞
相关分类