NameError: name 'cursor' is not defined
NameError: name 'cursor' is not defined
我正在尝试连接 mysql 并更改信息但不起作用。
main.py
import pymysql
def connect_setting():
# Trying to connect
db_connection = None
try:
db_connection = pymysql.connect(
user='db',
passwd='password',
host='127.0.0.1',
db='test',
charset='utf8'
)
# If connection is not successful
except:
print("Can't connect to database")
return 0
# If Connection Is Successful
print("Connected")
# Making Cursor Object For Query Execution
global cursor
cursor = db_connection.cursor()
def get_off():
sql = '''INSERT INTO `-100`'''
cursor.execute(sql)
db_connection.commit()
index.py
from main import get_off as sql
sql()
错误
raceback (most recent call last):
File "/workspace/Kakao_points/index.py", line 3, in <module>
sql()
File "/workspace/Kakao_points/main.py", line 30, in get_off
cursor.execute(sql)
NameError: name 'cursor' is not defined
我已经定义了游标,但我猜 python 没有在下一个定义中获得信息..有人帮忙吗..?
您只在连接失败时设置 cursor
,因为您将这些行放在 except:
块中。这两行应该在 try:
块中。
您还需要将 db_connection
设为全局,以便您可以在其他函数中使用它。
def connect_setting():
global db_connection
# Trying to connect
db_connection = None
try:
db_connection = pymysql.connect(
user='db',
passwd='password',
host='127.0.0.1',
db='test',
charset='utf8'
)
# Making Cursor Object For Query Execution
global cursor
cursor = db_connection.cursor()
# If Connection Is Successful
print("Connected")
# If connection is not successful
except:
print("Can't connect to database")
return 0
我正在尝试连接 mysql 并更改信息但不起作用。
main.py
import pymysql
def connect_setting():
# Trying to connect
db_connection = None
try:
db_connection = pymysql.connect(
user='db',
passwd='password',
host='127.0.0.1',
db='test',
charset='utf8'
)
# If connection is not successful
except:
print("Can't connect to database")
return 0
# If Connection Is Successful
print("Connected")
# Making Cursor Object For Query Execution
global cursor
cursor = db_connection.cursor()
def get_off():
sql = '''INSERT INTO `-100`'''
cursor.execute(sql)
db_connection.commit()
index.py
from main import get_off as sql
sql()
错误
raceback (most recent call last):
File "/workspace/Kakao_points/index.py", line 3, in <module>
sql()
File "/workspace/Kakao_points/main.py", line 30, in get_off
cursor.execute(sql)
NameError: name 'cursor' is not defined
我已经定义了游标,但我猜 python 没有在下一个定义中获得信息..有人帮忙吗..?
您只在连接失败时设置 cursor
,因为您将这些行放在 except:
块中。这两行应该在 try:
块中。
您还需要将 db_connection
设为全局,以便您可以在其他函数中使用它。
def connect_setting():
global db_connection
# Trying to connect
db_connection = None
try:
db_connection = pymysql.connect(
user='db',
passwd='password',
host='127.0.0.1',
db='test',
charset='utf8'
)
# Making Cursor Object For Query Execution
global cursor
cursor = db_connection.cursor()
# If Connection Is Successful
print("Connected")
# If connection is not successful
except:
print("Can't connect to database")
return 0