我在这里提出我的问题,但首先我搜索了整个网站,但没有找到正确答案。
我是Python和PyGTK的菜鸟。
这是我的代码:
from PyQt4 import uic
from PyQt4 import QtGui
from PyQt4 import QtCore
import MySQLdb
import sys,os
###删除大部分代码...我认为需要... ...(感谢...关于代码长度的评论)###
def basedatos(self):
db_host = 'localhost'
usuario = 'root'
clave = ''
base_de_datos = 'toco_bdd'
db = MySQLdb.connect(user=usuario,passwd= clave,db= base_de_datos,unix_socket="/opt/lampp/var/mysql/mysql.sock")
def chequeouser(self):
passwdcheck = txt_password.text()
usuariover = txt_usuario.text()
datosLogin = "SELECT * FROM t_usuarios WHERE id_usuario = usuariover AND password = 'passwdcheck"
#para Futura Referencia - QtGui.QMessageBox.warning(self, "hola", "tu nombre de usuario es:"+usuariover+"y tu password es" + passwdcheck,QtGui.QMessageBox.Ok)
datosLogin = "SELECT * FROM t_usuarios WHERE id_usuario = 'usuario' AND password = 'password'"
cursor = db.cursor()
cursor.execute(datosLogin)
app = QtGui.QApplication(sys.argv)
#window.resize( 350,210)
#window.move(450,250)
#window.setWindowTitle("TM Administrador - Login")
#window.show()
loginit = entrar()
loginit.show()
sys.exit(app.exec_())
我收到了这个错误:
cursor = db.cursor()NameError:未定义全局名称“db”
答案 0 :(得分:0)
您已定义了db' db'在def basedatos(self)中:所以当你试图访问其他函数内部时,它没有在那里定义,所以你得到了那个错误。您可以全局定义以解决该错误。我自己也是一个菜鸟,所以不确定' pythonic'也就是说,这就是你为什么会得到错误的原因。