【发布时间】:2015-07-07 17:36:24
【问题描述】:
我已经成功地为我的两台电脑设置了 xampp。当我在 PC 1 上通过 python 尝试连接到 PC 1 的本地主机时,一切正常。 但是当我尝试连接到 PC 2 xampp sql 时,我无法连接。 我已经配置 xampp 以接受来自局域网中其他设备的连接,我可以通过我的网络浏览器完美地访问它,但不能通过我的 python 程序。
这是我的代码:
def GetResults(self):
try:
cnx = mysql.connector.connect(user='test', password= '123456', host='paraliass-pc', port='3306', database='test')
cursor = cnx.cursor()
except mysql.connector.Error as err:
if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
print("Something is wrong with your username or password")
self.statusBar().showMessage("Wrong Username or Password")
elif err.errno == errorcode.ER_BAD_DB_ERROR:
print("Database does not exist")
self.statusBar().showMessage("Database does not exist")
if cnx :
print("Connected")
self.statusBar().showMessage("Connected")
cursor = cnx.cursor()
cursor.execute("SELECT * FROM STAFF WHERE NAME LIKE '" + self.textEdit.text() + "%' OR SURNAME LIKE '" + self.textEdit.text() + "%'" + "OR RANK LIKE '" + self.textEdit.text() + "%'")
我收到此错误,当我连接到正在运行程序的同一台电脑时不会出现此错误
UnboundLocalError: local variable 'cnx' referenced before assignment
顺便说一句,如果我故意将本地主机上的用户名或密码更改为错误,我会得到同样的错误。
【问题讨论】:
-
因为 cnx 仅在连接实际成功时才定义。您似乎应该在记录错误后从该方法返回。