作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个数组,其中每个元素对应一个字母数字字符串,假设:
userIds : ['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);
结果是:
Select * from Users where userIds in ('Ab526, shvx23, 23636dsd');
如果有人可以提出一个解决方案,我怎样才能实现我想要的目标,那将有很大的帮助。
最佳答案
您可以映射 quoted values稍后加入。
var userIds = ['Ab526', 'shvx23', '2363\'6dsd'],
result = userIds.map(function (a) { return "'" + a.replace("'", "''") + "'"; }).join();
console.log(result);
关于Javascript 数组到 MySQL "In"值列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43166013/
我是一名优秀的程序员,十分优秀!