Python 改进/参数化具有未知字符的SQL查询
如何在SQL中转义引号和双引号。我有以下声明:Python 改进/参数化具有未知字符的SQL查询,python,mysql,Python,Mysql,如何在SQL中转义引号和双引号。我有以下声明: SELECT * FROM table WHERE contents LIKE '%user_input%' 但是,用户可以输入任何内容,它可以有单引号、双引号等。有没有办法逃避用户输入的任何引号?相当于在python中执行以下操作 '''%s''' % user_input 通过手动转义单引号,似乎可以解决以下问题: cursor.execute("SELECT * FROM mapping WHERE minified_contents L
SELECT * FROM table WHERE contents LIKE '%user_input%'
但是,用户可以输入任何内容,它可以有单引号、双引号等。有没有办法逃避用户输入的任何引号?相当于在python中执行以下操作
'''%s''' % user_input
通过手动转义单引号,似乎可以解决以下问题:
cursor.execute("SELECT * FROM mapping WHERE minified_contents LIKE %s",
'%' + user_input.replace("'", "\'") + '%')