错误信息
pymysql.err.ProgrammingError: (1064, “You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘s Sports Apparel’’ at line 1”)
代码
sql = """select * from %s where sci_au='%s' AND sci_ti='%s'""" \
% (MySQL_table_name, sci_au, sci_ti)
print("sql = ", sql)
self.cursor.execute(sql)
原因
这是因为sci_ti中的内容有单引号(’),与代码中的’%s’冲突。改成“%s”也出现此类问题。
解决办法
修改sci_ti里面的内容,把含有单引号(’)的内容替换成其他字符(如#)
sql = """select * from %s where sci_au='%s' AND sci_ti='%s'""" \
% (MySQL_table_name, sci_au.replace("'", "#"),
sci_ti.replace("'", "#"))
print("sql = ", sql)
self.cursor.execute(sql)