Heim > Backend-Entwicklung > PHP-Tutorial > thinkphp implementiert ein Beispiel für eine Fuzzy-Abfrage

thinkphp implementiert ein Beispiel für eine Fuzzy-Abfrage

不言
Freigeben: 2023-03-30 07:10:01
Original
8063 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich die Implementierung von Like-Fuzzy-Abfragen in Thinkphp vor. Er verwendet Beispiele, um die Implementierungsmethode von Like-Fuzzy-Abfragen als Abfragebedingungen zu beschreiben siehe es.

Das Beispiel in diesem Artikel beschreibt, wie thinkphp eine Fuzzy-Abfrage implementiert, und ich möchte es als Referenz mit Ihnen teilen. Die spezifische Implementierungsmethode ist wie folgt:

Derzeit verwenden immer mehr Menschen das Thinkphp-Framework für die Projektentwicklung. Aufgrund seiner guten Kapselung sind viele Teile der reinen PHP-Entwicklung nicht einfach zu starten In diesem Artikel sind die Begriffe „Gefällt mir“-Abfrage als Beispiel dargestellt, um dies zu veranschaulichen.

Hier verwenden wir hauptsächlich Beispiele, um die Verwendung zu veranschaulichen:

ThinkPHP kann die direkte Verwendung von Zeichenfolgen als Abfragebedingungen unterstützen, in den meisten Fällen wird jedoch empfohlen, Indexarrays oder Objekte als Abfragebedingungen zu verwenden. weil es sicherer ist.

1. Verwenden Sie Zeichenfolgen als Abfragebedingungen

Dies ist die traditionellste Methode, aber nicht sehr sicher
Zum Beispiel:

Code kopieren Der Code lautet wie folgt:

$User = M("User"); // 实例化User对象
$User->where('type=1 AND status=1')->select();
Nach dem Login kopieren

Die endgültig generierte SQL-Anweisung lautet

Code kopierenDer Code lautet wie folgt:

SELECT * FROM think_user WHERE type=1 AND status=1
Nach dem Login kopieren

If Eine Abfrage mit mehreren Feldern wird durchgeführt, dann werden die Felder Die standardmäßige logische Beziehung zwischen ihnen ist logisch UND UND, aber die standardmäßige logische Beurteilung kann mithilfe der folgenden Regeln geändert werden, indem _logic zum Definieren der Abfragelogik verwendet wird:

Code kopieren Der Code lautet wie folgt:

$User = M("User"); // 实例化User对象
$condition['name'] = 'thinkphp';
$condition['account'] = 'thinkphp';
$condition['_logic'] = 'OR';
// 把查询条件传入查询方法
$User->where($condition)->select();
Nach dem Login kopieren

Die endgültig generierte SQL-Anweisung lautet

Code kopieren Der Code lautet wie folgt:

SELECT * FROM think_user WHERE `name`='thinkphp' OR `account`='thinkphp'
Nach dem Login kopieren

2. Array-Modus als Abfragebedingung

sagte: Wie implementiert man so viele ähnliche Abfragen?

Code kopieren Der Code lautet wie folgt:

$userForm=M('user'); 
$where['name']=array('like','php%');
$userForm->where($where)->select();
Nach dem Login kopieren

Die ähnliche Abfrage hier lautet:

Code kopierenDer Code lautet wie folgt:

name like 'php%'
Nach dem Login kopieren

Abfrageanweisung:

Code kopierenDer Code lautet wie folgt:

$where['name']=array('like',array('%php%','%.com'),'OR');
Nach dem Login kopieren

Die ähnliche Abfrage hier lautet:

Code kopierenDer Code lautet wie folgt:

name like '%php%' or name like '%.com'
Nach dem Login kopieren

Abfrageanweisung:

Code kopierenDer Code lautet wie folgt:

$where['name']=array(array('like','%a%'),array('like','%b%'),array('like','%c%'),'php','or');
Nach dem Login kopieren

Die ähnliche Abfrage hier lautet:

Code kopieren Der Code lautet wie folgt:

(`name` LIKE '%a%') OR (`name` LIKE '%b%') OR (`name` LIKE '%c%') OR (`name` = 'php')
Nach dem Login kopieren

Abfrageanweisung:

Code kopieren Code wie folgt:

$where['_string']='(name like "%php%")  OR (title like "%php")';
Nach dem Login kopieren

Die ähnliche Abfrage hier lautet:

Code kopieren Der Code lautet wie folgt:

name like '%jb51%' or title like '%php'
Nach dem Login kopieren

Verwandte Empfehlungen:

thinkphp implementiert 163, Methode zum Senden und Empfangen von E-Mails in QQ mailbox_php-Kenntnisse

ThinkPHP grundlegendes Beispiel-Tutorial zum Hinzufügen, Löschen, Überprüfen und Ändern von Vorgängen

Das obige ist der detaillierte Inhalt vonthinkphp implementiert ein Beispiel für eine Fuzzy-Abfrage. 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