우리는 기본 머드를 만들고 MySQL 데이터베이스에서 저장 /로드하기를 원합니다. 초기 명령으로 "캐릭터가 있습니까?" 프롬프트가 나타나면 "아니요"부분이 정렬되고 데이터베이스에 성공적으로 저장됩니다. 그러나 "예"부분에 문제가 있습니다. 구체적으로 DB에 사용자 입력에 대한 특정 항목이 있는지 확인하여 데이터가 존재하는지 확인하고 결과적으로 데이터를로드하는 것입니다.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()
내가 어떤 오류가없는, 그냥 처음부터가는 경우, 두 번째로 문, 변경은 변경되지 않습니다하지만 ("새로운"이름을 저장 항목이 이미 존재하므로 db)
죄송합니다, 들여 쓰기 내가 코드를 붙여 잘못 할 때 간격 내 잘못이었다. 하지만 고마워! 나는 지금 당장 시도 할 것이다 – mathieu
이것은 바보 같은 질문이라고 생각한다. (우리는 여전히 일반적으로 프로그래밍에 익숙하다.)하지만 새로운 if 문을 사용하면 logincheck를 어떻게 체크 할 수 있을까? – mathieu
죄송합니다. 그것은'login is None'이 아니라'if logincheck is None'이어야합니다. – unutbu