How to implement fuzzy query in PHP
This article mainly introduces the method of implementing fuzzy query in PHP. Interested friends can refer to it. I hope it will be helpful to everyone.
Pattern query
1. SQL matching pattern
2. Regular expression matching pattern (generally not recommended)
SQL matching mode
1. When using sql matching mode, you cannot use the operator = or! =, instead use the operator LIKE or NOT LIKE;
2. Using sql matching mode, MYSQL provides 2 wildcard characters.
% represents any number of any characters (including 0)
_ represents any single character
3. Use the sql matching pattern, if the matching format does not contain the above The query effect of any one of the two wildcard characters is equivalent to = or! =
4. Use sql matching mode. When matching, it is not case-sensitive
#查询用户名以某个字符开头的用户 #查询用户名以字符'l'开头的用户: l% SELECT * FROM user WHERE username LIKE 'l%'; #查询用户名以某个字符结尾的用户 #查询用户名以字符'e'结尾的用户:e% SELECT * FROM user WHERE username LIKE 'e%'; #查询用户名包含某个字符的用户 #查询用户名包含字符'o'的用户:%o% SELECT * FROM user WHERE username LIKE '%o%'; #查询包含三个字符的用户 SELECT * FROM user WHERE username LIKE '___'; #查询用户名第二个字符为o的用户:_o% SELECT * FROM user WHERE username LIKE '_o%';
Regular Expression matching pattern
Wildcard (regular expression)
. Matches any single character
* Matches 0 or more in front of it The characters
x* means matching any number of x characters
[..] Matches any character in brackets
[abc] Matches the characters ab or c
[a-z] Matches any letter
[0-9] Matches any number
[0-9]* Matches any number of any number
[a-z]* Matches any number of letters
^ represents Starts with a certain character or string
^a means it starts with the letter a
$It means ends with a certain character or string
s$ means it ends with the letter s
The operators used to use regular expression matching patterns are:
REGEXP or NOT REGEXP (RLIKE or NOT RLIKE)
Note: Regular expression matching patterns, their regular expressions If the formula appears at any position in the matching field,
The pattern will be matched, and there is no need to put a wildcard character on both sides to make it match;
If only the wildcard character . is used to match, assume N , then its matching pattern indicates that it is greater than or equal to N;
How to understand the above sentence?
That is to say
... Match data that is greater than or equal to 3 characters
.... Match data that is greater than or equal to 4 characters
#Query the user name with the character l Users starting with: ^l;
#regular expression writing
SELECT * FROM user WHERE username REGEXP '^l'; #sql匹配模式写法: SELECT * FROM user WHERE username LIKE 'l%'; #查询用户名正好是三个字符的用户:^...$; #sql匹配模式写法: SELECT * FROM user WHERE username LIKE '___'; #正则表达式写法 SELECT * FROM user WHERE username REGEXP '^...$';
Summary: The above is the entire content of this article, I hope it can be helpful to everyone Learning helps.
Related recommendations:
php Detailed explanation and examples of array processing function extract
php in_array() Detailed explanation of checking whether a certain value exists in the array
Solution to the problem that PHP magento background cannot log in
The above is the detailed content of How to implement fuzzy query in PHP. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

In this chapter, we will understand the Environment Variables, General Configuration, Database Configuration and Email Configuration in CakePHP.

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

To work on file upload we are going to use the form helper. Here, is an example for file upload.

In this chapter, we are going to learn the following topics related to routing ?

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

Validator can be created by adding the following two lines in the controller.
