使用未知字符改进/参数化SQL查询

时间:2015-01-30 22:48:36

标签: python mysql

如何在SQL中转义引号和双引号。我有以下声明:

SELECT * FROM table WHERE contents LIKE '%user_input%'

但是,用户可以输入任何内容,它可以有单引号,双引号等。有没有办法逃避用户输入的任何引用?相当于在python中执行以下操作?

'''%s''' % user_input

1 个答案:

答案 0 :(得分:0)

通过手动转义单引号,似乎可以解决这个问题:

cursor.execute("SELECT * FROM mapping WHERE minified_contents LIKE %s",  
    '%' + user_input.replace("'", "\'") + '%')