gpt4 book ai didi

php - PHP 的 Postgresql LIKE 通配符转义

转载 作者:行者123 更新时间:2023-11-29 12:27:59 25 4
gpt4 key购买 nike

用户有一个搜索框。我需要给他灵 active ,这样他就可以像客户端一样进行搜索,为此的 sql 将是名称 like '%client%'

问题是我不想让用户可以使用 %_ 通配符进行搜索。我知道我可以逃避它们..但是是否有针对任何通配符/或其他解决方案执行此操作的功能?

最佳答案

create or replace function escape_like(text)
returns text language sql immutable strict as
$q$
select regexp_replace($1, $$([\\%_])$$, $$\\\1$$, 'g')
$q$;

试一试:

=> select escape_like($$foo%bar\foo__bar$$);
      quote_like---------------------- foo\%bar\\foo\_\_bar(1 row)

So your query should look similar to:

select * from tablename where columnname like '%' || escape_like(?) || '%';

关于php - PHP 的 Postgresql LIKE 通配符转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5066639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com