Javascript 数组到 MySQL“In”值列表

Pre*_*ain 5 javascript mysql arrays string arraylist

我有一个数组,其中每个元素对应一个字母数字字符串,可以说:

用户 ID : ['Ab526', 'shvx23', '23636dsd']

我想将其转换为这样的格式,以便我可以将此字符串列表传递给mySQL 查询的 IN 子句,如下所示:

Select * from Users where userIds in '(...)';

我尝试使用array.join()和许多其他方法,在某个地方建议但都是徒劳。

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

结果是:

Select * from Users where userIds in ('Ab526, shvx23, 23636dsd');

如果有人可以提出一个解决方案,告诉我如何实现我想要的目标,那将会有很大的帮助。

Nin*_*olz 3

您可以映射引用的值并稍后加入。

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