python sql转义正斜杠不起作用

时间:2019-02-08 22:25:27

标签: python mysql sql insert escaping

我正在尝试执行一条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附近使用)”第1行”)

我很确定它与正斜杠有关,但我无法使其正常工作。我该如何解决这个问题?

如果需要更多信息,请告诉我!

1 个答案:

答案 0 :(得分:1)

执行此操作:

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))