如何修复“mysqlconnection”对象没有属性“escape\u string”

nxagd54h  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(351)

我对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\u string”连接方法时,如下面所示:

escaped_string = cnx.escape_string("some SQL invalid 'terms'")

我得到:

AttributeError: 'MySQLConnection' object has no attribute 'escape_string'.

我认为这是一个与mysql\u连接器相关的bug,所以我认为更新可能会有所帮助。 pip install --upgrade mysql_connector 这更新了mysql\u连接器,但没有解决问题。
我使用的是python3.7.1和mysql\u connector 2.1.6

t5fffqht

t5fffqht1#

我不知道为什么这会发生在你身上,但你可以创造你自己的 escape_string 使用python。不要这样做:

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\u堆栈溢出

相关问题