@niq3424734

Почему не подставляются нужные занчения в БД?

По каким то причинам sql не хочет подставлять нужные значения в таблицу, выдает след ошибку: sqlite3.OperationalError: table USER has no column named You signed in as admin!
То есть почему-то сообщение, которое я выводил пользователю, sql считает это как название столбца, очень странно,спасибо тем, кто поможет, мой код:

@dp.callback_query_handler()
async def call(callback: types.CallbackQuery):
    global password
    global user
    if callback.data=='admin':
        if callback.message.from_user.id == int(os.getenv('ADMIN_ID')):
            btn1=InlineKeyboardButton('Add user',callback_data='add')
            btn2=InlineKeyboardButton('Delete user',callback_data='delete')
            btn3=InlineKeyboardButton('Show user list',callback_data='list')

            mark_adm=InlineKeyboardMarkup()
            mark_adm.add(btn1,btn2)
            mark_adm.add(btn3)

            await callback.message.answer('You signed in as <b>admin!</b>',reply_markup=mark_adm,parse_mode='html')
        else:
            await callback.message.answer("<b><i>You're not admin</i></b>",parse_mode='html')
    if callback.data=='buy':
        await callback.message.answer(callback.message.from_user.id)
    if callback.data=='add':
        await callback.message.answer('Send username of participant')
        time.sleep(5)
        user = callback.message.text
        await callback.message.answer('Create password for participant')
        password=callback.message.text
        conn = sqlite3.connect('users.sql')
        cur = conn.cursor()
        cur.execute(
            'CREATE TABLE IF NOT EXISTS USER(id int auto_increment primary key,username varchar(15) NOT NULL, password varchar(20) NOT NULL)')
        conn.commit()
        mrk=types.InlineKeyboardMarkup()
        btn=types.InlineKeyboardButton('Add',callback_data='us')
        mrk.add(btn)
        await callback.message.answer('Add user?',reply_markup=mrk)
    if callback.data=='us':
        conn = sqlite3.connect('users.sql')
        cur = conn.cursor()
        cur.execute("INSERT INTO USER('%s','%s')VALUES(username,password)"%(user,password))
        conn.commit()
        conn.close()
        cur.close()
        await callback.message.answer('User was signed up')
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы