[英]Are there any scope that escape all special characters in mysql query?
[英]MySQL escape everything (all special characters)
我正在进行mysql查询,以选择值为LIKE query_search
我要实现的是搜索作为参数传递给查询的确切query_search
。 例如,如果query_search
是下列之一: %admin
, you're\\
, '/_%'
,我只想查找完全匹配的条目。
对于%admin
我只想找到%admin
条目,但找不到myadmin
。
那么,如何转义所有mysql特殊字符?
将\\
放在query_search
的每个字符query_search
将是一个好的解决方案?
对于Django知识者,我正在使用
something.extra(
where=['value like convert(_utf8%s using utf8)'],
params=query_search,
)
这里something
是一个QuerySet。 我使用MySQL作为数据库,并且收到query_search
作为参数。 也许还有另一种方法可以用Django实现。
谢谢。
您可以在Queryset.filter
使用contains
(或icontains
):
something.filter(value__contains=query_search)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.