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();
Die endgültig generierte SQL-Anweisung lautet
Code kopierenDer Code lautet wie folgt:
SELECT * FROM think_user WHERE type=1 AND status=1
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();
Die endgültig generierte SQL-Anweisung lautet
Code kopieren Der Code lautet wie folgt:
SELECT * FROM think_user WHERE `name`='thinkphp' OR `account`='thinkphp'
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();
Die ähnliche Abfrage hier lautet:
Code kopierenDer Code lautet wie folgt:
name like 'php%'
Abfrageanweisung:
Code kopierenDer Code lautet wie folgt:
$where['name']=array('like',array('%php%','%.com'),'OR');
Die ähnliche Abfrage hier lautet:
Code kopierenDer Code lautet wie folgt:
name like '%php%' or name like '%.com'
Abfrageanweisung:
Code kopierenDer Code lautet wie folgt:
$where['name']=array(array('like','%a%'),array('like','%b%'),array('like','%c%'),'php','or');
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')
Abfrageanweisung:
Code kopieren Code wie folgt:
$where['_string']='(name like "%php%") OR (title like "%php")';
Die ähnliche Abfrage hier lautet:
Code kopieren Der Code lautet wie folgt:
name like '%jb51%' or title like '%php'
Verwandte Empfehlungen:
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!