Я работаю над программой, использующей инфраструктуру проекта EEL для python, и в моем html есть форма регистрации, но я не могу передать данные в удаленную базу данных mysql, поэтому я с помощью туннеля. Соединение установлено, поэтому никаких проблем с этим нет, данные просто не сохраняются.
Вот часть моего кода
@eel.expose
def register_button(token, email, mpass):
myToken = format(token)
myEmail = format(email)
myPass = format(mpass)
if myToken == '':
print('token is empty')
elif myEmail == '':
print('email is empty')
elif myPass == '':
print('password is empty')
else:
server = SSHTunnelForwarder(
'X.X.X.X',
ssh_username='user',
ssh_password='pass',
remote_bind_address=('127.0.0.1', 3306)
)
server.start()
myDB = mysql.connector.connect(
host='127.0.0.1',
port=server.local_bind_port,
user='user',
password='pass',
db='db'
)
myCursor = myDB.cursor()
sql = "SELECT `iduser` FROM `uuids` WHERE `myuuid` = '%s'" % myToken
myCursor.execute(sql)
results = myCursor.fetchone()
if results:
iduserDB = results[0]
if iduserDB is None:
print('id is null')
sql5 = "SELECT `email` FROM `users` WHERE `email` = '%s'" % myEmail
myCursor.execute(sql5)
resultz = myCursor.fetchone()
if resultz:
emailDB = resultz[0]
if emailDB is None:
sql2 = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)"
val = (myEmail, myPass)
myCursor.execute(sql2, val)
myDB.commit()
lastRowID = myCursor.lastrowid
sql3 = "UPDATE `uuids` SET `iduser` = %i WHERE `uuids` = %s"
val3 = (lastRowID, myToken)
myCursor.execute(sql3, val3)
myDB.commit()
else:
print('email is already in use')
else:
print('id is not null')
else:
return False
myDB.close()
server.stop()
return 'Thank you for registering!'
Концепция проста, в основном, взять данные с фронта закончите, а затем просто посмотрите, существует ли токен в базе данных uuid, если он не существует, просто перейдите вперед и проверьте, существует ли электронное письмо в базе данных, если его нет, только тогда go и вставьте данные .
Я новичок в Python, любая помощь будет принята с благодарностью. Простите, отступ в Pycharm - это то, что нужно, просто структурирование здесь с помощью copy paste.