【发布时间】:2016-08-30 00:42:30
【问题描述】:
我知道该主题的变体已在其他地方讨论过,但其他线程都没有帮助。
我想将一个字符串从 python 交给 sql。但是,字符串中可能会出现撇号 (')。我想用反斜杠转义它们。
sql = "update tf_data set authors=\'"+(', '.join(authors).replace("\'","\\\'"))+"\' where tf_data_id="+str(tf_data_id)+";"
但是,这将始终在我的字符串中给出\\'。因此反斜杠本身被转义,sql语句不起作用。
有人可以帮助我或给我一个替代方法吗? 谢谢
【问题讨论】:
-
提供你想发送到sql的原始字符串
-
您是否考虑过使用准备好的语句?
-
您可以使用占位符,根本不需要任何转义。作为奖励,如果转义忽略了某些东西,您不会打开自己进行 SQL 注入。
标签: python str-replace pymysql