代码:
// Get message from chat and replace characters.
const messageReplaced = m.message.conversation.replace(/[^a-z0-9À-ú]/gi, ' ')
// Split Text using empty space
function splitStr(str, separator) {
// Function to split string
const string = str.split(separator);
console.log(string);
}
// Initialize string
const str = messageReplaced
const separator = " ";
// Function call
splitStr(str, separator);
我的输出:
['1', '2', '3', '4', '5', '6', '7']
根据输出,我需要使用查询逐一检查每个数组(string[0],string[1],…(是否存在于数据库中的项目中,如下所示:
SELECT * FROM contacts WHERE id = (string[0], string[1], ...)
我试过那样的事,但没有成功
var i = 0; i < check.length; i++
splitStr()
应该返回数组,而不是记录它。虽然不清楚为什么需要这个函数,因为它与调用split()
完全相同。
制作一个包含与string
数组中的值一样多的?
占位符的字符串,然后在准备好的语句中使用它。
let ids = messageReplaced.split(' ').map(Number);
let placeholders = Array(ids.length).fill('?').join(',');
let query = `SELECT * FROM contacts WHERE id IN (${placeholders})`;
connection.query(query, ids, function(res, err) {
if (err) {
// report error
} else {
console.log(res);
}
});