连接MySQL时出现Python错误 当我有con.close()-mysql.connector.errors.OperationalError:[Errno 9]错误的文件描述符时,我收到错误消息 删除con.close()-mysql.connector.errors.InterfaceError:2055:在“localhost:3306”处与mysql服务器的连接中断,系统错误:10054时收到错误消息
有什么建议吗?Thx连接MySQL时出现Python错误 当我有con.close()-mysql.connector.errors.OperationalError:[Errno 9]错误的文件描述符时,我收到错误消息 删除con.close()-mysql.connector.errors.InterfaceError:2055:在“localhost:3306”处与mysql服务器的连接中断,系统错误:10054时收到错误消息,python,mysql,Python,Mysql,有什么建议吗?Thx 以下是我的疑问: import mysql.connector class databaseConnection: def __init__ (self,settings ): cur=settings.cursor() selectstmt=("SELECT qSQL FROM TBLTEST WHERE id = 4") cur.execute(selectstmt) res=cur.fetch
以下是我的疑问:
import mysql.connector
class databaseConnection:
def __init__ (self,settings ):
cur=settings.cursor()
selectstmt=("SELECT qSQL FROM TBLTEST WHERE id = 4")
cur.execute(selectstmt)
res=cur.fetchone()
qSQL=res[0]
cur.execute(qSQL)
qSQLresults=cur.fetchall()
for row in qSQLresults:
id= row[0]
city= row[1]
state=row[2]
insertstmt=("""INSERT into FACTRESTTBL (id, city, state)
values (%d, '%s', '%s')""" % (id, city, state))
cur.execute(insertstmt)
con.commit()
con.close() #
print 'done'
con=mysql.connector.connect(host="localhost",
user="root",
password="test",
database="test")
databaseobject = databaseConnection(con)
--当我在服务器上的Vim上运行脚本时,它可以工作。它不应该是
设置。close()
?旁白:您应该将参数作为第二个参数传递给。execute()
,以防止SQL注入攻击。我的做法类似于:所以我使用了con.close(),您如何“将参数作为第二个参数传递给.execute()”要防止SQL注入攻击,请执行以下命令:cur.execute(insertstmt,(id,city,state))
。您可以将所有占位符更改为所使用模块的相应占位符。有些人使用?
,有些人使用%s
。在这两种情况下,您的连接似乎提前终止。可能有一种配置可以设置为更长的超时时间。