如何使用java/javascript将“”替换为具有不同数组值的字符串中的

如何使用java/javascript将“”替换为具有不同数组值的字符串中的,javascript,arrays,Javascript,Arrays,我想换一根绳子?使用javascript按顺序使用不同的数组值 SELECT "x0"."NAME", "x0"."DOB", "x0"."SEX", "x0"."CATEGORY" FROM "PERSON" "x0" WHERE ((("x0"."NAME" <> ?) AND ("x0"."NAME" = ?)) AND ("x0"."NAME" < ?)) 一种可能的解决办法是: var query = 'SELECT "x0"."NAME", "x0"."DOB",

我想换一根绳子?使用javascript按顺序使用不同的数组值

SELECT "x0"."NAME", "x0"."DOB", "x0"."SEX", "x0"."CATEGORY"
FROM "PERSON" "x0"
WHERE ((("x0"."NAME" <> ?) AND ("x0"."NAME" = ?)) AND ("x0"."NAME" < ?))

一种可能的解决办法是:

var query = 'SELECT "x0"."NAME", "x0"."DOB", "x0"."SEX", "x0"."CATEGORY"' +
                    'FROM "PERSON" "x0"' +
                    'WHERE ((("x0"."NAME" <> ?) AND ("x0"."NAME" = ?)) AND 

("x0"."NAME" < ?))';

var names = ['borr', 'odin', 'thor'];

for (var i = 0; i < names.length; i++) {
    query = query.replace(/\?/, '"' + names[i] + '"');
}

console.log(query)

但是,这将使您的应用程序向SQL注入开放。在清理输入之后,最好给查询命名参数并在服务器上生成语句。也就是说,上面的内容应该可以用于测试。

这是java还是javascript?还有,你到底想达到什么目的?从远处看,似乎不需要真正替换值,而是使用PreparedStatement。实际上,这只是简单的SQL。我希望他不是通过javascript构建查询,而是从前端对db执行查询。除非你非常小心,否则你就是在为自己设置一个查询。请阅读关于这个问题的更好的解决方案。@阿肖克,请考虑将您的问题标记为答案或编辑其内容以获得更多信息!或使用。