使用python连接到lan数据库

时间:2015-07-07 17:36:25

标签: python sql localhost

我已经成功地为我的两台电脑设置了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

顺便说一句,如果我故意更改localhost上的用户名或密码是错误的,我会得到同样的错误。

1 个答案:

答案 0 :(得分:0)

您应该考虑授予远程连接MySQL的权限,并绑定MySQL以使用您选择的IP地址和端口。默认情况下,MySQL只会通过localhost / socket监听连接。