104 lines
3.1 KiB
Python
104 lines
3.1 KiB
Python
import pymysql
|
|
|
|
# 数据库定义参数
|
|
database_ip = "localhost"
|
|
database_user = "guest"
|
|
database_passwd = "guest1234"
|
|
database_name = "GUESTDB"
|
|
table_name = "user_info"
|
|
|
|
DEBUG = 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 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(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
|
|
|
|
Mysql = Mysql_DB(host=database_ip,user=database_user, password=database_passwd, database=database_name )
|