Python,MySQL,MySQL异常。编程错误:(1064,';您的SQL语法有错误

Python,MySQL,MySQL异常。编程错误:(1064,';您的SQL语法有错误,python,mysql,python-2.7,twitter,mysql-python,Python,Mysql,Python 2.7,Twitter,Mysql Python,我目前正在向本地MySQL数据库发送一条推特流,我遇到了一个问题。每当用户创建一条包含“located”的推特时,我都会收到一个语法错误,因为它会干扰Insert语句 我想知道解决这个问题的最佳方法,这样个人推特就不会影响insert语句 示例变量: tweetId = 98757629 userId = 07gos870sg text = "this is "what " is messing up my sql" day = 04 month = 'dec' year = 2016 hour

我目前正在向本地MySQL数据库发送一条推特流,我遇到了一个问题。每当用户创建一条包含“located”的推特时,我都会收到一个语法错误,因为它会干扰Insert语句

我想知道解决这个问题的最佳方法,这样个人推特就不会影响insert语句

示例变量:

tweetId = 98757629
userId = 07gos870sg
text = "this is "what " is messing up my sql"
day = 04
month = 'dec'
year = 2016
hour = 23
minute = 45
placeId = 'kj4h5b899'


c.execute('INSERT INTO tweet VALUES("%s", "%s", "%s", "%s", "%s", 
           "%s", "%s", "%s", "%s")' % \
           (tweetId, userId, text, day, month, year, hour, minute, placeId))

我想在将insert语句发送到代码之前,只需取出任何可能会弄乱insert语句的字符(“`”),但我不想编辑任何用户提交的数据。

您应该绑定变量,而不是格式化sql字符串

sql = "INSERT INTO tweet VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)"
values = (tweetId, userId, text, day, month, year, hour, minute, placeId)
cursor.execute(sql, values)

请看问题的答案。