python sql escape слеш не работает - PullRequest
0 голосов
/ 09 февраля 2019

Я пытаюсь выполнить SQL-оператор, который должен добавить некоторые данные в базу данных, например:

cursor.execute("INSERT INTO Actors (imdbPageId, fullName) VALUES (%s, %s)" % ( db.escape_string(self.imdbID), self.name))

Я также попытался:

cursor.execute("INSERT INTO Actors (imdbPageId, fullName) VALUES (%s, %s)" % ( self.imdbID, self.name))

Но я продолжаю получать этоошибка независимо от использования escape_string или нет.См. Ниже:

MySQLdb._exceptions.ProgrammingError: (1064, "У вас есть ошибка в вашем синтаксисе SQL; обратитесь к руководству, соответствующему вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с" /name / nm0991810, Mahershala Ali) 'at line 1 ")

Я почти уверен, что это связано с косой чертой, но я не могу заставить ее работать.Как я могу исправить эту проблему?

Если потребуется дополнительная информация, дайте мне знать!

1 Ответ

0 голосов
/ 09 февраля 2019

Сделайте это вместо:

query = "INSERT INTO Actors (imdbPageId, fullName) VALUES (%s, %s)"

cursor.execute(query, (self.imdbID, self.name))

Если я не ошибаюсь mysqldb позаботится об этом за вас.

В противном случае вы можете сделать:

cursor.execute(query, (db.escape_string(self.imdbID), self.name))
...