我是python的新手。以前,我在MySQL上使用PHP。现在正在学习python。此时,我正在学习使用MySQL。
我已使用以下代码连接到数据库:
import mysql.connector
cnx = mysql.connector.connect(user="myUser", password="myPass", host="localhost", database="myDb")
连接似乎正常工作,我可以使用“光标”从数据库中查询项目:
sql = "SELECT * FROM..."
cnx.cursor.execute(sql)
问题是,当我使用类似波纹管的连接的“ escape_string”方法时:
escaped_string = cnx.escape_string("some SQL invalid 'terms'")
我明白了:
AttributeError: 'MySQLConnection' object has no attribute 'escape_string'.
我认为这是与mysql_connector相关的错误,因此我认为更新可能会有所帮助。
pip install --upgrade mysql_connector
此更新了mysql_connector,但未能解决问题。
我正在使用 python 3.7.1 和 mysql_connector 2.1.6
答案 0 :(得分:-1)
我无法确定为什么会这样,但是您可以使用python创建自己的escape_string
。
不要:
sql = "INSERT INTO TABLE_A (COL_A,COL_B) VALUES (%s, %s)" % (val1, val2)
cursor.execute(sql)
要做:
sql = "INSERT INTO TABLE_A (COL_A,COL_B) VALUES (%s, %s)"
cursor.execute(sql, (val1, val2))
您可以点击此链接以找到更多解决方案: Escape string Python for MySQL和 Escape string Python for MySQL _ Stack overflow