我有一个数组,其中每个元素对应一个字母数字字符串,例如:
用户ID:['Ab526','shvx23','23636dsd']
我想把它转换成这样一种格式,这样我就可以把这个字符串列表作为如下内容传递给mySQL查询的IN子句:
从“(…)”中用户ID所在的用户中选择*;
我试过使用array.join()和许多其他方法,但都没有成功。

var userIds = ['Ab526', 'shvx23', '23636dsd']
var ids    = userIds.join(',');
var query  = 'Select * from Users where userIds in (' + ids + ')';
console.log(query);

结果是:
从用户ID所在的用户中选择*('Ab526,shvx23,23636dsd');
如果有人能提出一个解决方案,比如我如何实现我想要的目标,那将是非常有帮助的。

最佳答案

您可以映射quoted values并稍后加入。

var userIds = ['Ab526', 'shvx23', '2363\'6dsd'],
    result = userIds.map(function (a) { return "'" + a.replace("'", "''") + "'"; }).join();

console.log(result);

关于javascript - Javascript数组到MySQL“中”值列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43166013/

10-11 10:46