データベースのユーザー名を確認しようとしていますが、最初のユーザー名では動作しますが、動作しなくなった後はなぜか分かりましたが、代わりの方法はありません。エラーがないsqliteデータベースのユーザー名を確認するには? Python
import sqlite3
conn = sqlite3.connect('tutorial.db')
c = conn.cursor()
def username():
global limit
global usernameinput
usernameinput = input("What would you like your username to be?")
limit = 0
select_all_tasks(conn)
def create_table():
c.execute('CREATE TABLE IF NOT EXISTS stuffToPlot(username TEXT,
password TEXT)')
conn.close
def select_all_tasks(conn):
global limit
global passwordinput
global rows
c.execute("SELECT * FROM stuffToPlot")
rows = c.fetchall()
for row in rows:
print(row)
if usernameinput in row:
print("Username Taken")
username()
else:
if limit < 1:
passwordinput = input("What would you like your password to
be?")
limit = limit + 1
def data_entry():
global passwordinput
global row
c.execute("INSERT INTO stuffToPlot VALUES(?, ?);",(usernameinput,
passwordinput))
conn.commit()
c.close()
conn.close()
create_table()
username()
select_all_tasks(conn)
data_entry()
、それだけでユーザ名がデータベースにすでにあることを登録しません: はここに私のコードです。
'されています:'あなたのコードでは、このようにインデントも
あなたはそれを簡単にするだろうか? – PRMoureu
いいえ、それは意味するところです –
これはあなたの質問の要点ではないので、私はコメントとして追加しています。データベースに暗号化されていないパスワードを格納することは非常に悪いアプローチです。最小限は、塩で暗号化する必要があります。あなたは、そのような解決策を考案するために引き出すことができる多くのリソースがあります。いつものように、セキュリティ関連の問題では、 "あなた自身のロール"はひどい考えです。 –