基本的な MUD を作成していて、それを MySQL データベースに保存/ロードする必要があります。最初のコマンドとして、「キャラクターはいますか?」というイニシャルが必要です。プロンプト、「いいえ」の部分が整理され、データベースに正常に保存されます。ただし、「はい」の部分に問題があります。具体的には、ユーザー入力に対して特定のエントリがないかDBをチェックして、それが存在することを確認し、結果としてデータをロードします。
これが私の現在のコードです:
global name
name = ''
savename = ("INSERT INTO CharactersDB (ID) VALUES (%s)")
loadname = ("SELECT ID FROM CharactersDB WHERE ID=%s")
def newname():
global name
newchar = raw_input("Do you have a character? (y/n) ")
if newchar == 'y':
login = raw_input("Please enter your Character's name: ")
logincheck = cur.execute(loadname, login)
if login == logincheck:
print "pass"
print "Successfully loaded ", login, "from the database"
else:
print "Sorry, could not find you in the database"
print "Or it just isn't working"
else:
name = raw_input("Please enter a new name: ")
#save new name to the database
cur.execute(savename, name)
print "Name saved, you are now called ", name
db.commit()
return name
newname()
エラーはありません。最初のifステートメントから2番目のステートメントに移動し、「新しい」名前を保存します(ただし、エントリが既に存在するため、データベースは変更されません)