Heim > Backend-Entwicklung > PHP-Problem > Problem mit der MySQL-Fuzzy-Query-Anweisung in PHP?

Problem mit der MySQL-Fuzzy-Query-Anweisung in PHP?

coldplay.xixi
Freigeben: 2023-03-03 09:34:02
Original
3014 Leute haben es durchsucht

MySQL-Fuzzy-Abfrageanweisung in PHP: 1. [%] steht für 0 oder mehr Zeichen, die mit jedem Zeichentyp und jeder Zeichenlänge übereinstimmen können. 2. [_] steht für jedes einzelne Zeichen, das mit jedem einzelnen Zeichen übereinstimmen kann Zeichen. ;3. [[]] gibt ein Zeichen, eine Zeichenfolge oder einen Bereich an und erfordert, dass das übereinstimmende Objekt eines davon ist.

Problem mit der MySQL-Fuzzy-Query-Anweisung in PHP?

MySQL-Fuzzy-Abfrageanweisungen in PHP sind:

Allgemeine Fuzzy-Abfrageanweisungen sind wie folgt:

SELECT 字段 FROM 表 WHERE 某字段 Like 条件
Nach dem Login kopieren

In Bezug auf Bedingungen bietet SQL vier Übereinstimmungsmodi:

1, %: steht für beliebige 0 oder mehr Zeichen. Kann mit Zeichen jeder Art und Länge übereinstimmen. Wenn es sich um Chinesisch handelt, verwenden Sie bitte zwei Prozentzeichen (%%), um es auszudrücken.

Zum Beispiel findet

SELECT * FROM [user] WHERE u_name LIKE '%三%'
Nach dem Login kopieren

alle Datensätze mit „drei“ in u_name „Zhang San“, „Zhang Cat San“, „Three-legged Cat“, „Tang Sanzang“, usw. .

Wenn Sie außerdem Datensätze mit „三“ und „cat“ in u_name suchen müssen, verwenden Sie bitte die und-Bedingung

SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%'
Nach dem Login kopieren

Wenn Sie

SELECT * FROM [user] WHERE u_name LIKE '%三%猫%'
Nach dem Login kopieren

verwenden, Sie können nach „Dreibeinige Katze“ suchen, aber „Zhang Cat San“, das die Bedingungen erfüllt, konnte nicht gesucht werden.

2, _: steht für ein beliebiges einzelnes Zeichen. Entspricht einem einzelnen beliebigen Zeichen. Es wird häufig verwendet, um die Zeichenlänge von Ausdrücken zu begrenzen:

Zum Beispiel findet

SELECT * FROM [user] WHERE u_name LIKE '_三_'
Nach dem Login kopieren

nur „Tang Sanzang“, also besteht u_name aus drei Zeichen und das mittlere Zeichen aus „三“;

Ein weiteres Beispiel ist

 SELECT * FROM [user] WHERE u_name LIKE '三__';
Nach dem Login kopieren

, wenn der Name nur aus drei Zeichen besteht und das erste Zeichen „三“ ist; 3, [ ]: Gibt eines der in Klammern aufgeführten Zeichen an (ähnlich einem regulären Ausdruck). Geben Sie ein Zeichen, eine Zeichenfolge oder einen Bereich an und verlangen Sie, dass das übereinstimmende Objekt eines davon ist.

Zum Beispiel findet

SELECT * FROM [user] WHERE u_name LIKE '[张李王]三'
Nach dem Login kopieren

„Zhang San“, „Li San“, „Wang San“ (anstelle von „Zhang Li Wang San“); da [ ] eine Reihe von Zeichen (01234, abcde usw.) enthält, die als „0-4“, „a-e“ abgekürzt werden können

SELECT * FROM [user] WHERE u_name LIKE '老[1-9]'
Nach dem Login kopieren

findet „alt 1“, „alt 2“, ..., „Alte 9“;

4, [^]: steht für ein einzelnes Zeichen, das nicht in Klammern aufgeführt ist. Sein Wert ist derselbe wie [], es ist jedoch erforderlich, dass das übereinstimmende Objekt ein anderes Zeichen als das angegebene Zeichen ist.

Zum Beispiel findet

SELECT * FROM [user] WHERE u_name LIKE '[^张李王]三'
Nach dem Login kopieren

„Zhao San“, „Sun San“ usw., die nicht „Zhang“, „Li“, „Wang“ heißen;

schließt „Alt 1“ bis „Alt 4“ aus, sucht nach „Alt 5“, „Alt 6“, ...

5, wenn der Abfrageinhalt Platzhalter enthält

Aufgrund von Platzhaltern können wir die Abfrageanweisung für die Sonderzeichen „%“, „_“ und „[“ nicht normal umsetzen. Die Sonderzeichen können jedoch normal abgefragt werden, wenn sie in „[ ]“ eingeschlossen sind. Auf dieser Grundlage haben wir die folgende Funktion geschrieben:

SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]';
Nach dem Login kopieren

Verwandte Lernempfehlungen:

PHP-Programmierung vom Einstieg bis zur Kompetenz

Das obige ist der detaillierte Inhalt vonProblem mit der MySQL-Fuzzy-Query-Anweisung in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage