Как исправить объект «MySQLConnection» не имеет атрибута escape_string - PullRequest
0 голосов
/ 25 декабря 2018

Я новичок в питоне.Ранее я использовал PHP с MySQL;сейчас изучаю питон.На данный момент я учусь работать с 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 голосов
/ 25 декабря 2018

Я не могу понять, почему это происходит с вами, но вы можете создать свой собственный 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-строка Python для MySQL и Escape-строка Python для MySQL _ Переполнение стека

...