我们正在创建一个基本的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