Я использую простую функцию python для подключения к базе данных MySQL. Я получаю сообщение о том, что на переменную ссылаются до того, как она назначена, но это не будет иметь место, если соединение успешно установлено. Почему происходит сбой соединения?
Я использую Ubuntu Linux 18.04. Я использую xampp 7.3 для размещения серверов mySQL и apache и использую phpmyadmin для доступа к базе данных. Я выполняю свой код на python 3.
Это мой код:
import mysql.connector
from mysql.connector import Error
def connect():
""" Connect to MySQL database """
try:
conn = mysql.connector.connect(host='localhost',
database='myDB',
user='xxx',
password='yyy!')
if conn.is_connected():
print('Connected to MySQL database')
except Error as e:
print(e)
finally:
conn.close()
if __name__ == '__main__':
connect()
И это ошибка, которую я получаю:
Traceback (most recent call last):
File "01_python-mysql-connect.py", line 23, in <module>
connect()
File "01_python-mysql-connect.py", line 19, in connect
conn.close()
UnboundLocalError: local variable 'conn' referenced before assignment
Я ожидаю успешного подключения к базе данных. Я считаю, что что-то может быть не так с моими конфигурациями, но не знаю, с чего начать в решении проблемы. Спасибо.