So implementieren Sie Fuzzy-Abfragen in PHP
Aug 20, 2020 am 09:46 AMSo implementieren Sie eine Fuzzy-Abfrage in PHP: 1. Verwenden Sie den SQL-Matching-Modus und der Operator muss LIKE oder NOT LIKE verwenden. Beim Matching wird die Groß-/Kleinschreibung nicht beachtet. 2. Verwenden Sie den regulären Ausdrucks-Matching-Modus im Abgleich irgendwo im Feld.
【Verwandte Lernempfehlung: php-Programmierung(Video)】
PHP-Methode zur Implementierung von Fuzzy-Abfragen:
Methode 1: SQL-Übereinstimmungsmuster
1. Verwenden Sie SQL-Übereinstimmungsmuster. Sie können die Operatoren =
oder !=
nicht verwenden, sondern die Operatoren LIKE oder NOT LIKE. Verwenden Sie den SQL-Matching-Modus. MYSQL bietet 2 Platzhalterzeichen.
- stellt eine beliebige Anzahl beliebiger Zeichen dar (einschließlich 0)
%
- stellt ein beliebiges einzelnes Zeichen dar
_
3. Verwenden Sie den SQL-Matching-Modus, wenn das Matching-Format keines der beiden oben genannten Platzhalterzeichen enthält. Eins , der Effekt seiner Abfrage entspricht = oder! =
4. Verwenden Sie den SQL-Abgleichsmodus. Beim Abgleich wird die Groß-/Kleinschreibung nicht beachtet.
#查询用户名以某个字符开头的用户 #查询用户名以字符'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%';
davor bedeutet Übereinstimmung mit einer beliebigen Anzahl von Entspricht einem beliebigen Buchstaben
[0-9] Entspricht einer beliebigen Zahl.
*
[0-9]* Entspricht einer beliebigen Zahl einer beliebigen Zahl
x*
- bedeutet Mit einem bestimmten Zeichen oder einer bestimmten Zeichenfolge beginnen
bedeutet, mit einem bestimmten Zeichen oder einer bestimmten Zeichenfolge zu enden
- bedeutet, mit dem Buchstaben s zu endenVerwenden Sie das verwendete Vergleichsmuster für reguläre Ausdrücke. Der Operator ist:
oder
(RLIKE oder NOT RLIKE)- Hinweis: Vergleichsmuster für reguläre Ausdrücke, sein regulärer Ausdruck erscheint an einer beliebigen Stelle im Übereinstimmungsfeld, sein Muster wird abgeglichen und es ist nicht erforderlich, es auf beiden Seiten einzufügen. Ein Platzhalter
^
Wie ist der obige Satz zu verstehen?
Das heißt^a
$
... Entspricht Daten, die größer oder gleich 4 Zeichen sind
#Benutzer abfragen, deren Benutzername mit dem Zeichen beginnt l: ^l; s$
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 '^...$';
Verwandte Empfehlungen: REGEXP
Videokurs zum Programmieren NOT REGEXP
Das obige ist der detaillierte Inhalt vonSo implementieren Sie Fuzzy-Abfragen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein
