mysql 登陸註冊
阿新 • • 發佈:2019-01-05
1 import pymysql, hashlib
2 class loginRegistration:
3 def __init__(self):
4 # 連線資料庫
5 self.bankData = pymysql.connect("127.0.0.1", "root", "123123", "user")
6 # 設定字元編碼
7 self.bankData.set_charset('utf8')
8 # 建立遊標物件
9 self.cursor = self.bankData.cursor()
10
11 def registration(self):
12 # 查詢login表所有資料
13 sql = 'select * from login'
14 # 執行sql句子
15 self.cursor.execute(sql)
16 # 如果資料為0
17 if self.cursor.rowcount == 0:
18 print('註冊使用者為0')
19 else:
20 print('註冊人數為', self.cursor.rowcount, " 個")
21 userInputName = input('請輸入使用者名稱')
22 userInputPassword = input('請輸入密碼')
23 sql = 'select username from login where username="{}"'.format(userInputName)
24 self.cursor.execute(sql)
25 # 如果資料為0
26 if self.cursor.rowcount == 0:
27 # 呼叫md5加密
28 passwordMd5 = hashlib.md5()
29 passwordMd5.update(userInputPassword.encode('utf8'))
30 password = passwordMd5.hexdigest()
31 # 新增資料,用try來檢測提交是否成功
32 try:
33 sql = "insert into login(username,password) values('{}','{}' )".format(userInputName, password)
34 self.cursor.execute(sql)
35 # 提交伺服器中
36 self.bankData.commit()
37 print("註冊成功")
38 except:
39 print("註冊失敗")
40 else:
41 print("使用者已存在")
42
43 def login(self):
44 sql = 'select * from login'
45 # 執行sql句子
46 self.cursor.execute(sql)
47 userInputName = input('請輸入使用者名稱')
48 userInputPassword = input('請輸入密碼')
49 sql = 'select username,password from login where username="{}"'.format(userInputName)
50 self.cursor.execute(sql)
51 passwordMd5 = hashlib.md5()
52 passwordMd5.update(userInputPassword.encode('utf8'))
53 password = passwordMd5.hexdigest()
54 # 如果資料為0
55 if self.cursor.rowcount == 0:
56 print("使用者不已存在")
57 elif self.cursor.fetchone()[1] != password:
58 print("密碼錯誤")
59 else:
60 print("登入成功")
61
62
63 lr = loginRegistration()
64 while True:
65 print("1、註冊 2、登入")
66 userinput = input("")
67 if userinput is "1":
68 lr.registration()
69 elif userinput is "2":
70 lr.login()