Verwandte Kenntnisse über die PHP+MySQL-Fuzzy-Abfragefunktion

jacklove
Freigeben: 2023-03-25 17:06:01
Original
1855 Leute haben es durchsucht

Die PHP+MySQL-Fuzzy-Abfragefunktion ist für PHP sehr wichtig, um die Datenbank zu betreiben. In diesem Artikel werden die zugehörigen Kenntnisse ausführlich erläutert.

Allgemeine Fuzzy-Abfrageanweisungen lauten wie folgt:

SELECT field FROM table WHERE bestimmtes Feld Wie Bedingung

Unter diesen stellt SQL vier Übereinstimmungsmodi für Bedingungen bereit:

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.
Beispiel: SELECT * FROM [user] WHERE u_name LIKE '%三%'
behandelt u_name als „Zhang San“, „Zhang Cat San“, „Three-legged Cat“, „Tang Sanzang“ und So weiter. Finden Sie alle Datensätze von „drei“ heraus.
Wenn Sie außerdem Datensätze mit „三“ und „cat“ in u_name suchen müssen, verwenden Sie bitte die Bedingung „and“
SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE ' % cat%'
Wenn Sie SELECT * FROM [user] WHERE u_name LIKE '%三%cat%' verwenden
Sie können zwar nach „dreibeinige Katze“ suchen, aber nicht nach „Zhang Cat San“ das den Bedingungen entspricht.

2, _: steht für ein beliebiges einzelnes Zeichen. Entspricht einem einzelnen beliebigen Zeichen. Es wird häufig verwendet, um die Zeichenlänge des Ausdrucks zu begrenzen :
Zum Beispiel: SELECT * FROM [user] WHERE u_name LIKE '_三_'
Nur ​​suchen " „Tang Sanzang“, so dass u_name drei Zeichen hat und das mittlere Zeichen „三“ ist;

Ein weiteres Beispiel ist SELECT * FROM [user] WHERE u_name LIKE '三';
Finde nur „drei-“ legged cat“ Auf diese Weise hat der Name drei Zeichen und das erste Zeichen ist „三“;

3, [ ]: stellt eines der in Klammern aufgeführten Zeichen dar (ähnlich wie
regulärer Ausdruck ). Geben Sie ein Zeichen, eine Zeichenfolge oder einen Bereich an und verlangen Sie, dass das übereinstimmende Objekt eines davon ist. Beispiel: SELECT * FROM [user] WHERE u_name LIKE '[张李王]三'
findet „Zhang San“, „Li San“, „Wang San“ (anstelle von „Zhang Li Wang] „王三“);

Wenn [ ] eine Reihe von Zeichen enthält (01234, abcde usw.), kann es als „0-4“, „a-e“ abgekürzt werden
SELECT * FROM [user] WHERE u_name LIKE 'Old[1-9]'
findet "Old 1", "Old 2",..., "Old 9"

4, [^ ]: bedeutet nicht in Klammern. Ein einzelnes Zeichen innerhalb einer Spalte. Sein Wert ist derselbe wie [], es ist jedoch erforderlich, dass das übereinstimmende Objekt ein anderes Zeichen als das angegebene Zeichen ist.

Beispiel: SELECT * FROM [user] WHERE u_name LIKE '[^张李王]三'
findet „Zhao San“, „Sun San“ usw.;

SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]';
schließt „Alt 1“ bis „Alt 4“ aus und sucht nach „Alt 5“, „Alt 6“, ...

5, wenn der Abfrageinhalt das
Platzhalterzeichen
aufgrund des Platzhalterzeichens enthält, fragen wir das
Sonderzeichen
ab. Anweisungen wie „% „, „_“ und „[“ können nicht normal implementiert werden, Sonderzeichen können jedoch normal abgefragt werden, wenn sie in „[ ]“ eingeschlossen sind. Auf dieser Grundlage haben wir die folgende Funktion geschrieben:

function sqlencode(str)
str=replace(str,"[","[[]") '此句一定要在最前
str=replace(str,"_","[_]")
str=replace(str,"%","[%]")
sqlencode=str
end function
Nach dem Login kopieren

In diesem Artikel wird die Fuzzy-Abfragefunktion von PHP + MySQL erläutert. Weitere Lernmaterialien finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

So kopieren und verschieben Sie Dateien über PHP


Über jQuery-Effekte – im Zusammenhang mit dem Ausblenden und Anzeigen Wissen


Verwandte Wissenspunkte zu SQL-NULL-Werten

Das obige ist der detaillierte Inhalt vonVerwandte Kenntnisse über die PHP+MySQL-Fuzzy-Abfragefunktion. 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