Проблема с запросами в базу данных mysql (удаление данных)
Есть вот такой код
on('message', async (ctx) => {
let user_id = ctx.message.from.id
const message = ctx.message.text
// ВКлючить проверку
if (user_id == conf.admin_id && message.includes('/on')) {
let group_id = ctx.chat.id
let name_channel = message.substr(4)
group_check = 'yes'
const connection = mysql.createConnection({
host: "localhost",
user: "root",
database: "check",
password: ""
})
const sql = `INSERT INTO list (group_id, channel_name, check_group) VALUES (${group_id}, '${name_channel}', '${group_check}')`
connection.query(sql, function (err, results) {
if (err) console.log(err)
})
connection.end()
ctx.reply(`Check: ${group_check}`)
}
// Выключить проверку
if (user_id == conf.admin_id && message.includes('/off')) {
let group_id = String(ctx.chat.id)
group_check = 'no'
const connection = mysql.createConnection({
host: "localhost",
user: "root",
database: "check",
password: ""
})
const sql = `DELETE FROM list WHERE group_id='?'`
let data = []
data.push(group_id)
connection.query(sql, function (err, results) {
if (err) console.log(err)
})
connection.end()
ctx.reply(`Check: ${group_check}`)
}
// Проверка
if (group_check == 'yes') {
let user = ctx.message.from.first_name
let message_id = ctx.message.message_id
let pass = await ctx.telegram.getChatMember(conf.chatId, user_id)
if (pass.status == 'left') {
ctx.deleteMessage(message_id)
ctx.replyWithHTML(`${user}, подпишись на канал`, Markup.inlineKeyboard([
[
{
text: 'Заказать рекламу',
url: 'https://t.me/socmobi'
}
]
]),
{
disabled_web_page_preview: true
})
}
}
})
Проблема в блоке (Выключить проверку) В чем суть: когда включаю проверку то в таблицу улетает число "group_id". В самой таблице тип данных стоит VARCHAR. Я так понимаю, что мои данные прилетают числом, но формат id групп в телеге следующий -100 и т.д. Значит это уже текст (прям запутался тут). Теперь иду в выключение и хочу с базы данную запись удалить. Делаю запрос
let group_id = ctx.chat.id
group_check = 'no'
const connection = mysql.createConnection({
host: "localhost",
user: "root",
database: "check",
password: ""
})
const sql = `DELETE FROM list WHERE group_id=?`
let data = []
data.push(group_id)
Вываливается сообщение про синтаксическую ошибку. Меняю на строку:
let group_id = String(ctx.chat.id)
group_check = 'no'
const connection = mysql.createConnection({
host: "localhost",
user: "root",
database: "check",
password: ""
})
const sql = `DELETE FROM list WHERE group_id='?'`
let data = []
data.push(group_id)
Все отрабатывает без ошибок но строка с таблицы не удаляется. Подскажите, что не так или где я путаюсь. Пробовал уже методом подбора (строки, числа) менять - результата нет. Только если отправлять строку, при удалении, ошибки нет, но и результата нет. Спасибо за любую помощь