Heim Backend-Entwicklung PHP-Problem So implementieren Sie Fuzzy-Abfragen in PHP

So implementieren Sie Fuzzy-Abfragen in PHP

Aug 20, 2020 am 09:46 AM
php 模糊查询

So 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.

So implementieren Sie Fuzzy-Abfragen in PHP

【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%';
Nach dem Login kopieren

Methode 2: Abgleichsmodus für reguläre Ausdrücke oder mehr Zeichen

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*

[a-z]* Entspricht einer beliebigen Anzahl von Buchstaben
  • bedeutet Mit einem bestimmten Zeichen oder einer bestimmten Zeichenfolge beginnen
  • bedeutet, mit dem Buchstaben a zu beginnen
  • bedeutet, mit einem bestimmten Zeichen oder einer bestimmten Zeichenfolge zu enden

  • bedeutet, mit dem Buchstaben s zu enden

    Verwenden 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
Wenn nur der Platzhalter zum Abgleichen verwendet wird, zeigt das Übereinstimmungsmuster an, dass es größer oder gleich N ist.

^Wie ist der obige Satz zu verstehen?

Das heißt^a

... Entspricht Daten, die größer oder gleich 3 Zeichen sind

$... Entspricht Daten, die größer oder gleich 4 Zeichen sind

#Benutzer abfragen, deren Benutzername mit dem Zeichen beginnt l: ^l; s$

# Schreiben regulärer Ausdrücke

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 '^...$';
Nach dem Login kopieren

Verwandte Empfehlungen: REGEXPVideokurs 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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

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

CakePHP-Projektkonfiguration CakePHP-Projektkonfiguration Sep 10, 2024 pm 05:25 PM

CakePHP-Projektkonfiguration

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

CakePHP Datum und Uhrzeit

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

CakePHP-Datei hochladen

CakePHP-Routing CakePHP-Routing Sep 10, 2024 pm 05:25 PM

CakePHP-Routing

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

Besprechen Sie CakePHP

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

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

CakePHP-Kurzanleitung CakePHP-Kurzanleitung Sep 10, 2024 pm 05:27 PM

CakePHP-Kurzanleitung

See all articles