WolfInChains
@WolfInChains

Почему не записывается имя в БД? OperationalError('near "Падший": syntax error')?

def get_name(uid: int) -> str:
    data = vk.method("users.get", {"user_ids": uid})[0]
    return "{} {}".format(data["first_name"], data["last_name"])


if not is_user_statlisted(user_id):
      insert_statlist(user_id, get_name(user_id))


def is_user_statlisted(user_id: int) -> bool:
    cmd = "select count(user_id) from statlist where user_id = %d" % (user_id)
    c.execute(cmd)
    result = c.fetchone()[0]
    print("Проверка айди на наличие в статлисте")
    return result > 0


def insert_statlist(user_id: int, name):
    cmd = "INSERT INTO statlist(user_id, sms, name) VALUES (%d, 0, %s)" % (user_id, name)
    c.execute(cmd)
    conn.commit()
    print("Пользователь добавлен в статлист")


Логи
OperationalError('near "Падший": syntax error')
  • Вопрос задан
  • 85 просмотров
Решения вопроса 1
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
И в какой функции произошла ошибка? Запрос из функции is_user_statlisted у меня выполнился. Чтобы запрос к базе выполнился из функции insert_statlist можно %s обернуть в одинарные кавычки:
cmd = "INSERT INTO statlist(user_id, sms, name) VALUES (%d, 0, '%s')" % (user_id, name)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы