Этот вопрос закрыт для ответов, так как повторяет вопрос Синтактическая ошибка sqlite3?
Levman5
@Levman5
print(“Hello World!”)

Ошибка при работе с таблицеq sqlite. Что делать?

У меня есть вот такой код:
def pay(message):
    token = config.CONFIG['qiwi']
    phone = config.CONFIG['phone']
    db = sqlite3.connect('users.db')
    cursor = db.cursor()

    cursor.execute("""CREATE TABLE IF NOT EXISTS users (
        user_id TEXT,
        qrule TEXT,
        cash INTEGER,
        usersinbot INTEGER,
        pay TEXT,
        pay_money INTEGER
        
    )""")
    price = message.text
    api = QApi(token=token, phone=phone)
    if not price.isdigit():
        client.send_message(message.chat.id, 'Введите коректное значение')
        main(message)
        return
    price = int(price)
    
    comment = api.bill(price)
    cursor.execute(f"UPDATE users SET pay = {str(comment)} WHERE user_id = '{message.chat.id}'")
    db.commit()
    cursor.execute(f"UPDATE users SET pay_money = {price} WHERE user_id = '{message.chat.id}'")
    db.commit()
    
    markup_inline = types.InlineKeyboardMarkup()

    item_pay = types.InlineKeyboardButton(text = 'Оплатить', url='link_to_pay')
    item_check = types.InlineKeyboardButton(text = 'Проверить платёж', callback_data='check')
    item_back = types.InlineKeyboardButton(text = 'Назад', callback_data='bck')
    markup_inline.add(item_pay)
    markup_inline.add(item_check)
    markup_inline.add(item_back)
    client.send_message(message.chat.id, f'Для перехода к оплате нажмите кнопку оплатить и в комментариях к оплате оставьте код: {comment}. Если вы не оставите код то бот не примет платёж. В сумме для оплаты указывайте такое же число что вы отправили ранее.', reply_markup=markup_inline)


В переменной comment сохраняется токен для работы с киви апи.
Пример токена - 901ecc36-82fd-46ba-8792-9f40abe01319

И когда я выполняю функцию pay получаю ошибку:
Traceback (most recent call last):
  File "c:/Users/Дом/Desktop/Py/PY/tg_bot_frilance/main.py", line 369, in <module>
    client.polling(none_stop=True, interval=0)
  File "C:\Users\Дом\AppData\Local\Programs\Python\Python38\lib\site-packages\telebot\__init__.py", line 619, in polling
    self.__threaded_polling(none_stop, interval, timeout, long_polling_timeout, allowed_updates)
  File "C:\Users\Дом\AppData\Local\Programs\Python\Python38\lib\site-packages\telebot\__init__.py", line 678, in __threaded_polling
    raise e
  File "C:\Users\Дом\AppData\Local\Programs\Python\Python38\lib\site-packages\telebot\__init__.py", line 641, in __threaded_polling
    self.worker_pool.raise_exceptions()
  File "C:\Users\Дом\AppData\Local\Programs\Python\Python38\lib\site-packages\telebot\util.py", line 130, in raise_exceptions
    raise self.exception_info
  File "C:\Users\Дом\AppData\Local\Programs\Python\Python38\lib\site-packages\telebot\util.py", line 82, in run
    task(*args, **kwargs)
  File "c:/Users/Дом/Desktop/Py/PY/tg_bot_frilance/main.py", line 99, in pay
    cursor.execute(f"UPDATE users SET pay = {str(comment)} WHERE user_id = '{message.chat.id}'")
sqlite3.OperationalError: unrecognized token: "472f"


Почему я её получаю м как это исправить?
  • Вопрос задан
  • 61 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы