【发布时间】:2019-12-18 14:39:11
【问题描述】:
我正在尝试将标题插入数据库。有时标题带有引号并引发错误。
我不能用 \" 替换引号,因为它认为我正在转义引号。
sql = 'UPDATE `table_name` SET `title`="{}";'
title = 'A "Title" With Quotes'
sql.format(title.replace('"','\"'))
这会将引号替换为更多的引号,因此不会发生任何变化。
'UPDATE `table_name` SET `title`="A "Title" With Quotes";'
如果我尝试转义反斜杠,它不会转义任何内容。
sql.format(title.replace('"','\\"'))
'UPDATE `table_name` SET `title`="A \\"Title\\" With Quotes";'
【问题讨论】:
-
您应该使用查询参数而不是尝试将值粘合到您的 SQL 中。