fix the mysqldb connection
This commit is contained in:
parent
a5579e04f0
commit
8bd92e6b91
@ -60,20 +60,23 @@ app.py ----服务器的主程序
|
||||
|
||||
## 更新日志
|
||||
|
||||
* 2021年4月2日
|
||||
|
||||
* fix:当Mysql数据库连接失败时,系统自动重新连接
|
||||
* 2021年4月1日
|
||||
|
||||
* bug:系统运行一天后mysql异常
|
||||
* ~~bug:schematic中能够进行绘图的区域有限~~
|
||||
* bug:移动整体电路时,电路连线无法一起移动
|
||||
* bug:PIN POUT暂时无作用
|
||||
* to do:主页面取消跳转,采用判定是否登录的方法改写login logou
|
||||
* ~~to do:主页面取消跳转,采用判定是否登录的方法改写login logou~~
|
||||
* fix:当仿真失败时,会提醒用户Fail
|
||||
* new: 代码新增DEBUG宏变量,为False时,关闭print
|
||||
* 2021年3月31日,前后端更新
|
||||
|
||||
* 新增:在服务器上成功部署;后端代码为适配centos服务器而做了一些修改。
|
||||
* 新增:对schematic的Help弹窗做了修改,对login和register界面做了修改。
|
||||
* bug:处理注册信息时需要对用户名和邮箱是否重复进行判定。
|
||||
* ~~bug:处理注册信息时需要对用户名和邮箱是否重复进行判定。~~
|
||||
* bug:Datetime非北京时间
|
||||
* 2021年3月30日,前后端更新
|
||||
|
||||
|
@ -9,71 +9,95 @@ table_name = "user_info"
|
||||
|
||||
DEBUG = False
|
||||
|
||||
# 打开数据库连接
|
||||
db = pymysql.connect(host=database_ip, user=database_user, password=database_passwd, database=database_name )
|
||||
print('open mysql success !!!')
|
||||
# 使用cursor()方法获取操作游标
|
||||
cursor = db.cursor()
|
||||
|
||||
def DB_Check_byName(user_name):
|
||||
sql = "SELECT * FROM %s WHERE user_name='%s' " % (table_name,user_name)
|
||||
try:
|
||||
# 执行SQL语句
|
||||
cursor.execute(sql)
|
||||
# 获取所有记录列表
|
||||
results = cursor.fetchall()
|
||||
passwd = results[0][2]
|
||||
return passwd
|
||||
except:
|
||||
if DEBUG:
|
||||
print("There is no the user's info !")
|
||||
return False
|
||||
class Mysql_DB():
|
||||
|
||||
def __init__(self, host, user, password, database):
|
||||
self.host = host
|
||||
self.user = user
|
||||
self.password = password
|
||||
self.database = database
|
||||
self.connect()
|
||||
|
||||
def connect(self):
|
||||
self.conn = pymysql.connect(host=self.host, user=self.user, password=self.password, database=self.database )
|
||||
print('connect mysql success !!!')
|
||||
|
||||
def DB_Check_byEmail(email):
|
||||
sql = "SELECT * FROM %s WHERE user_email='%s' " % (table_name,email)
|
||||
try:
|
||||
# 执行SQL语句
|
||||
cursor.execute(sql)
|
||||
# 获取所有记录列表
|
||||
results = cursor.fetchall()
|
||||
passwd = results[0][2]
|
||||
return passwd
|
||||
except:
|
||||
if DEBUG:
|
||||
print("There is no the user's info !")
|
||||
return False
|
||||
def query(self, sql):
|
||||
try:
|
||||
cursor = self.conn.cursor()
|
||||
cursor.execute(sql)
|
||||
except pymysql.OperationalError:
|
||||
self.connect()
|
||||
cursor = self.conn.cursor()
|
||||
cursor.execute(sql)
|
||||
return cursor
|
||||
|
||||
def __commit(self):
|
||||
try:
|
||||
self.conn.commit()
|
||||
except pymysql.OperationalError:
|
||||
self.connect()
|
||||
self.conn.commit()
|
||||
|
||||
def __rollback(self):
|
||||
try:
|
||||
self.conn.rollback()
|
||||
except pymysql.OperationalError:
|
||||
self.connect()
|
||||
self.conn.rollback()
|
||||
|
||||
def DB_Check_byName(self,user_name):
|
||||
sql = "SELECT * FROM %s WHERE user_name='%s' " % (table_name,user_name)
|
||||
try:
|
||||
# 执行SQL语句
|
||||
cursor = self.query(sql)
|
||||
# 获取所有记录列表
|
||||
results = cursor.fetchall()
|
||||
if(results != tuple()):
|
||||
passwd = results[0][2]
|
||||
return passwd
|
||||
else:
|
||||
return False
|
||||
except:
|
||||
print("MYSQL ERROR 01 !")
|
||||
return False
|
||||
|
||||
|
||||
def DB_Check_byEmail(self,email):
|
||||
sql = "SELECT * FROM %s WHERE user_email='%s' " % (table_name,email)
|
||||
try:
|
||||
# 执行SQL语句
|
||||
cursor = self.query(sql)
|
||||
# 获取所有记录列表
|
||||
results = cursor.fetchall()
|
||||
if(results != tuple()):
|
||||
passwd = results[0][2]
|
||||
return passwd
|
||||
else:
|
||||
return False
|
||||
except:
|
||||
print("MYSQL ERROR 02 !")
|
||||
return False
|
||||
|
||||
def DB_Insert_User(user_info):
|
||||
user_name = user_info["username"]
|
||||
user_passwd = user_info["password"]
|
||||
user_email = user_info["email"]
|
||||
user_date = user_info["date"]
|
||||
sql = "INSERT INTO user_info(user_name,user_passwd,user_email,user_register_date) VALUES('%s', '%s', '%s', '%s' )"% (user_name, user_passwd, user_email, user_date)
|
||||
try:
|
||||
# 执行sql语句
|
||||
cursor.execute(sql)
|
||||
# 执行sql语句
|
||||
db.commit()
|
||||
if DEBUG:
|
||||
print("Insert user_info successfully!")
|
||||
return True
|
||||
except:
|
||||
# 发生错误时回滚
|
||||
db.rollback()
|
||||
if DEBUG:
|
||||
print("Insert user_info error!")
|
||||
return False
|
||||
def DB_Insert_User(self,user_info):
|
||||
user_name = user_info["username"]
|
||||
user_passwd = user_info["password"]
|
||||
user_email = user_info["email"]
|
||||
user_date = user_info["date"]
|
||||
sql = "INSERT INTO user_info(user_name,user_passwd,user_email,user_register_date) VALUES('%s', '%s', '%s', '%s' )"% (user_name, user_passwd, user_email, user_date)
|
||||
try:
|
||||
# 执行sql语句
|
||||
cursor = self.query(sql)
|
||||
# 执行sql语句
|
||||
self.__commit()
|
||||
if DEBUG:
|
||||
print("Insert %s successfully!"%(user_name))
|
||||
return True
|
||||
except:
|
||||
# 发生错误时回滚
|
||||
self.__rollback()
|
||||
print("Mysql ERROR 03")
|
||||
return False
|
||||
|
||||
|
||||
# if __name__ == "__main__":
|
||||
# res = authenticate('user5','1234')
|
||||
# print("authenticate result: ",res)
|
||||
# for i in range(10):
|
||||
# s = str(i)
|
||||
# res = add_user('user'+s,'1234','user'+s+'@qq.com')
|
||||
# print("add user", s ," res: ",res)
|
||||
# res = authenticate('user5','1234')
|
||||
# print("authenticate result: ",res)
|
||||
Mysql = Mysql_DB(host=database_ip,user=database_user, password=database_passwd, database=database_name )
|
||||
|
79
handler/MysqlDB_backup.py
Normal file
79
handler/MysqlDB_backup.py
Normal file
@ -0,0 +1,79 @@
|
||||
import pymysql
|
||||
|
||||
# 数据库定义参数
|
||||
database_ip = "localhost"
|
||||
database_user = "guest"
|
||||
database_passwd = "guest1234"
|
||||
database_name = "GUESTDB"
|
||||
table_name = "user_info"
|
||||
|
||||
DEBUG = False
|
||||
|
||||
# 打开数据库连接
|
||||
db = pymysql.connect(host=database_ip, user=database_user, password=database_passwd, database=database_name )
|
||||
print('open mysql success !!!')
|
||||
# 使用cursor()方法获取操作游标
|
||||
cursor = db.cursor()
|
||||
|
||||
def DB_Check_byName(user_name):
|
||||
sql = "SELECT * FROM %s WHERE user_name='%s' " % (table_name,user_name)
|
||||
try:
|
||||
# 执行SQL语句
|
||||
cursor.execute(sql)
|
||||
# 获取所有记录列表
|
||||
results = cursor.fetchall()
|
||||
passwd = results[0][2]
|
||||
return passwd
|
||||
except:
|
||||
if DEBUG:
|
||||
print("There is no the user's info !")
|
||||
return False
|
||||
|
||||
|
||||
def DB_Check_byEmail(email):
|
||||
sql = "SELECT * FROM %s WHERE user_email='%s' " % (table_name,email)
|
||||
try:
|
||||
# 执行SQL语句
|
||||
cursor.execute(sql)
|
||||
# 获取所有记录列表
|
||||
results = cursor.fetchall()
|
||||
passwd = results[0][2]
|
||||
return passwd
|
||||
except:
|
||||
if DEBUG:
|
||||
print("There is no the user's info !")
|
||||
return False
|
||||
|
||||
|
||||
|
||||
def DB_Insert_User(user_info):
|
||||
user_name = user_info["username"]
|
||||
user_passwd = user_info["password"]
|
||||
user_email = user_info["email"]
|
||||
user_date = user_info["date"]
|
||||
sql = "INSERT INTO user_info(user_name,user_passwd,user_email,user_register_date) VALUES('%s', '%s', '%s', '%s' )"% (user_name, user_passwd, user_email, user_date)
|
||||
try:
|
||||
# 执行sql语句
|
||||
cursor.execute(sql)
|
||||
# 执行sql语句
|
||||
db.commit()
|
||||
if DEBUG:
|
||||
print("Insert user_info successfully!")
|
||||
return True
|
||||
except:
|
||||
# 发生错误时回滚
|
||||
db.rollback()
|
||||
if DEBUG:
|
||||
print("Insert user_info error!")
|
||||
return False
|
||||
|
||||
|
||||
# if __name__ == "__main__":
|
||||
# res = authenticate('user5','1234')
|
||||
# print("authenticate result: ",res)
|
||||
# for i in range(10):
|
||||
# s = str(i)
|
||||
# res = add_user('user'+s,'1234','user'+s+'@qq.com')
|
||||
# print("add user", s ," res: ",res)
|
||||
# res = authenticate('user5','1234')
|
||||
# print("authenticate result: ",res)
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -3,7 +3,7 @@ from .MysqlDB import *
|
||||
|
||||
#用户密码匹配判断函数
|
||||
def authenticate(username,password):
|
||||
passwd_db = DB_Check_byName(username)
|
||||
passwd_db = Mysql.DB_Check_byName(username)
|
||||
if passwd_db:
|
||||
if password == passwd_db:
|
||||
return True
|
||||
@ -12,12 +12,12 @@ def authenticate(username,password):
|
||||
# 数据库中增加新用户
|
||||
def add_user(username,password,email=''):
|
||||
create_time=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||
result = DB_Insert_User({'username':username,'password':password,'email':email,'date':create_time})
|
||||
result = Mysql.DB_Insert_User({'username':username,'password':password,'email':email,'date':create_time})
|
||||
return result
|
||||
|
||||
def check_register(username,password,email):
|
||||
check_name = DB_Check_byName(username)
|
||||
check_email = DB_Check_byEmail(email)
|
||||
check_name = Mysql.DB_Check_byName(username)
|
||||
check_email = Mysql.DB_Check_byEmail(email)
|
||||
check_pw = check_password(password)
|
||||
|
||||
if check_name != False:
|
||||
|
Loading…
Reference in New Issue
Block a user