php mysql 如何处理查询中存在正则特殊字符的查询
  IAnf3sYdqT2F 2023年12月07日 22 0


数据示例

需要查询/^DO-BOM-\d{4}$/ 

测试可以使用如下sql查询

SELECT * FROM tr_air_status_identify_algorithm WHERE keywords = '/^DO-BOM-\\d{4}$/';

规律(主要取出mysql不能查询的符号即可)

  • \d前面多增加一个\ 既可以
  • 存在  '  的 转为  '\

代码处理

$where[] = 'keyword = ?';
            //词中存在\
            if ($type == 'del') {
				// 在 \d 前添加一个额外的反斜杠
				$keywords = str_replace('\d', '\\\d', $keyword);
            }
			//词中存在引号
			$raw[]   = str_replace("'", "\'", $keyword);
			# 执行查询
			$check = Table::init()->electWhereRaw($where, $raw);
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月07日 0

暂无评论

推荐阅读
IAnf3sYdqT2F