#python #mysql
#python #mysql
Вопрос:
Я написал скрипт, а затем все пошло не так, но в оболочке python я ввел тот же код в скрипт, и он сработал. Что произошло? Вот мой код:
# -*-coding:utf-8-*-
import pymysql
try:
conn = pymysql.connect('localhost', 'root', 'Hjd4132!', 'pytest')
cursor = conn.cursor()
cursor.execute('SELECT * from demo')
data = cursor.fetchone()
print(data[3])
except Exception as e:
print(e)
finally:
cursor.close()
conn.close()
Вот мое сообщение об ошибке:
(1045, u"Access denied for user 'root'@'localhost' (using password: YES)")
Traceback (most recent call last):
File "demo.py", line 12, in <module>
cursor.close()
NameError: name 'cursor' is not defined
Комментарии:
1. Итак, ваша строка
cursor = ..
не была выполнена. Вconnect()
методе появилось исключение.2. Я изменил MySQL 5.7 на 5.1, и проблема была решена без изменения кода. Спасибо за ваш ответ!
Ответ №1:
это ошибка, которую вы получаете, когда пользователь или пароль неверны, возможно, вам следует проверить строку, с которой вы начинаете соединение, это причина, по которой курсор не определен.
Комментарии:
1. я могу использовать пароль для входа в mysql, и в оболочке python это сработало, но когда я запустил этот скрипт, он допустил ошибку
2. Я изменил MySQL 5.7 на 5.1, и проблема была решена без изменения кода. Спасибо за ваш ответ!