我們正在創建一個基本的MUD,並希望它從MySQL數據庫中保存/加載,作爲初始命令,我們想要一個初始的「你有角色嗎?」提示時,我們將「否」部分整理出來,併成功保存到數據庫。但是,我在「是」部分遇到問題,更具體地說,它會檢查數據庫中是否存在針對用戶輸入的特定條目以確保其存在,並因此加載數據。MySQL和Python - 如何使用用戶輸入檢查條目?
這裏是我當前的代碼:
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語句的第二個,省「新」名稱(雖然沒有任何修改,提出db已有條目)
對不起,壓痕是我的錯與間距不正確時我將代碼粘貼。但是,謝謝!我會立即嘗試 – mathieu
我想這是一個愚蠢的問題(我們對編程通常還是一個新問題),但是用新的if語句,它是如何檢查logincheck的? – mathieu
糟糕,我的錯誤。它應該是'如果logincheck是None',而不是'如果login是None'。 – unutbu