sqliteを使用してユーザー名パスワードプログラムを作成しています。ユーザー名がデータベースに存在するかどうかをチェックしたいのですが、このユーザー名の行IDを探したい場合は、ユーザー名入力された、私はどのようにデータベースの単語のrowidを見つけるために知っている 'Word'。変数のROWIDを見つけるには? sqlite3
def sign_in():
usernameask = input("What is your username?")
passwordask = input("What is your password?")
c.execute("SELECT username FROM stuffToPlot")
names = {name[0] for name in c.fetchall()}
if usernameask in names:
print("Yes")
c.execute("SELECT password FROM stuffToPlot")
passs = {name[0] for name in c.fetchall()}
if passwordask in passs:
print("yes,pass")
t = c.execute("SELECT rowid, FROM stuffToPlot WHERE username = 'usernameask' ")
rowid = t.fetchall()
for r in rowid:
print(r)
else:
print("No,pass"
私はそれがt = c.execute("SELECT rowid, FROM stuffToPlot WHERE username = 'usernameask' ")
と'usernameask'
ウィッヒが現在のように、それを探して交換したいと言う場所で探しています:どのように私はので、私はここで、変数 で単語を置き換えることができます私のコードがあるされていることを確認しますデータベース内の単語を変数に変換します。どうすればいい? エラーはありません。データベース内に「usernameask」という単語の位置が見つかりません。
ありがとう、これらはうまくいきました。私はパスワードを返すだけで、何らかの理由であなたが返す '( 'Sam'、 'Sam'、 'Sam')'私はfetchone()を試してみましたが、それはうまく動作しませんでした。どのようにすればpassowordだけを返すのでしょうか、私はそれをより効率的にするために少し更新しました。更新されたものは本文@Ghostly –
@SamboyT:申し訳ありませんが、私はそれをロールバックしなければなりませんでした。あなたが求めた質問に答えました。スタックオーバーフローは将来の訪問者にも質問と回答を生成することによって機能します。今、新しい質問があります。 –
@SamboyT: 'password、*'を選択したので、まずパスワード列を追加してから、* all *列を追加します。パスワード( '*'をドロップ)を選択し、その行から単一の要素を取り出してください: 'password = c.fetchone()[0]';これは最初に一致する行を取り出し、1つの列だけ取り出し、その1つの列の結果を行から取り出して変数に代入します。 –