@samperirrrrr

Почему у меня ошибка? ProgrammingError?

Всем привет, почему у меня выдает ошибку? В чем проблема?
def rang(user_id):
	connection = connect()
	user_data = lox(user_id)
	try:
		with connection.cursor() as  cursor:
			result = cursor.execute(f'SELECT * FROM  accounts WHERE uid={user_id}')
			row = cursor.fetchone()
			if user_data["plus"] >= 10:
				user_data["rang"] += " sharingan"
				cursor.execute(f'UPDATE accounts SET rang={user_data["rang"]} WHERE uid={user_id}')
				connection.commit()
	finally:
		connection.close()

ошибка ProgrammingError(1064, "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ранга sharingan WHERE uid=576167340' at line 1")
  • Вопрос задан
  • 55 просмотров
Решения вопроса 1
@dmtrrr
Backend developer
1) Не нужно использовать f строки для формирования SQL:
f'UPDATE accounts SET rang={user_data["rang"]} WHERE uid={user_id}'


2) SET rang='some value' - не хватает кавычек
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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