如何修复“ MySQLConnection”对象没有属性“ escape_string”

时间:2018-12-25 05:35:56

标签: mysql python-3.x mysql-connector-python

我是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

1 个答案:

答案 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 MySQLEscape string Python for MySQL _ Stack overflow