@idkwhichnickname

В чём проблема?

Суть такова, пишу по туториалу БД, у человека не ругается на код, а у меня ругается
sql.execute("UPDATE users SET cash = {1000} WHERE login ="{user_login}"")
^
SyntaxError: invalid syntax
import sqlite3
from random import randint

global db
global sgl
db = sqlite3.connect('server.db')
sql = db.cursor()

sql.execute("""CREATE TABLE IF NOT EXISTS users (
	login TEXT,
	password TEXT,
	cash BIGINT
)""")

db.commit()

def reg():
	user_login = input("Login: ")
	user_password = input("Password: ")

sql.execute(f"SELECT login FROM users WHERE login = '{user_login}'")
if sql.fetchone() is None:
	sql.execute(f"INSERT INTO users VALUES(?, ?, ?)", (user_login, user_password, 0))
	db.commit()
	print("Зарегестрировано!")
else:
	print("Такая запись уже имеется!")

	for value in sql.execute("SELECT * FROM users"):
		print(value)

def casino():
	user_login = input("Log in: ")
	number = randint(1, 2)

	sql.execute('SELECT login TABLE users WHERE login = "{user_login}"')
	if sql.fetchone() is None:
		print("Такого логина не существует. Зарегестрируйтесь :)")
		reg()
	else:
		if number == 1:
			sql.execute("UPDATE users SET cash = {1000} WHERE login ="{user_login}"")
			db.commit()
		else:
			print("Вы проиграли =(")


def enter():
	for i in sql.execute("SELECT login, cash FROM users"):
		print(i)


def main():
	casino()
	enter()



main()


Что делать?
  • Вопрос задан
  • 195 просмотров
Решения вопроса 2
@bacon
Пытаться думать, почему-то в других запросах ты смог обойти эту проблему, или это тупо копипаста без понимания смысла? Хотя конечно, надо все привести к виду как у INSERT INTO users VALUES(?, ?, ?)

Сравни
sql.execute('SELECT login TABLE users WHERE login = "{user_login}"')

vs
sql.execute("UPDATE users SET cash = {1000} WHERE login ="{user_login}"")
Ответ написан
MonAkka
@MonAkka
Born in IT
Посмотри внимательно на двойные кавычки в той строке.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
от 150 000 до 200 000 ₽
от 50 000 до 150 000 ₽
OnederX Москва
от 100 000 до 120 000 ₽
18 сент. 2020, в 17:52
1000 руб./за проект
18 сент. 2020, в 17:49
500 руб./в час
18 сент. 2020, в 17:24
180 руб./за проект