Нужна небольшая помощь, чтобы понять MySQL результат запроса. Есть таблица authors
со столбцами AuthorID
, FirstName
, ..., SearchName
. Я хотел бы выбрать из него и отправить значения SearchName
в качестве ответа бота
Таким образом:
bot.on('text', (ctx) => {
const q = ctx.message.text //here I recieve a message to bot as a string to use in select
const sql = "SELECT SearchName FROM authors WHERE LastName LIKE '%"+ q +"%'";
connection.query(sql, function(err, results) {
if(err) console.log(err);
console.log(results);
ctx.reply(results);
console.log(q);
});
})
Таким образом, это приводит к консоли:
TextRow { SearchName: 'ПЕТРОВА ЮЛИЯ ИГОРЕВНА' },
TextRow { SearchName: 'ПЕТРОВА ЕЛЕНА ВЛАДИМИРОВНА' },
TextRow { SearchName: 'ПЕТРОВА ИРИНА ВЛАДИМИРОВНА' },
TextRow { SearchName: 'ПЕТРОВА В К' },
TextRow { SearchName: 'ПЕТРОВА ВЛАДИНАТА' },
TextRow { SearchName: 'ПЕТРОВА ИРИНА' },
и, конечно же, те же данные, но не верное представление в ответе бота:
[{"SearchName":"ПЕТРОВА ЮЛИЯ ИГОРЕВНА"},{"SearchName":"ПЕТРОВА ЕЛЕНА ВЛАДИМИРОВНА"},{"SearchName":"ПЕТРОВА ИРИНА ВЛАДИМИРОВНА"},{"SearchName":"ПЕТРОВА В К"},{"SearchName":"ПЕТРОВА ВЛАДИНАТА"},{"SearchName":"ПЕТРОВА ИРИНА"},
Итак, я прошу помощи, как получить только значения, и в дальнейшем я бы хотел управлять ими как отдельными ответами от бот для пользователя. т. е. пользователь отправляет строку и получает столько ответов, сколько возвращается строк.