user12354454:
Estoy intentando conectar mysql y cambio de información, pero no es un trabajo.
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()
error
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
Yo ya definidos cursor pero de alguna manera pitón no conseguir información en el próximo def .. supongo que nadie ayuda por favor ..?
Barmar:
Sólo se está configurando cursor
cuando la conexión falla, ya que poner esas líneas en el except:
bloque. Esas dos líneas deben estar en el try:
bloque.
También es necesario hacer db_connection
global, de modo que se puede utilizar en la otra función.
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