Die Abfragefunktion wird häufig in der täglichen Entwicklung verwendet. Heute führt Sie unsere chinesische PHP-Website durch die Implementierungsmethode der Abfragefunktion und stellt Ihnen kurz vor, wie Sie die Abfragefunktion in thinkphp verwenden.
SQL-Matching-Modus
1 Wenn Sie den SQL-Matching-Modus verwenden, können Sie den -Operator = oder verwenden! =, verwenden Sie stattdessen den Operator LIKE oder NOT LIKE; 2. Im SQL-Matching-Modus stellt MYSQL zwei Arten von
Platzhalterzeichenbereit. % 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 das oben Genannte nicht enthält Der Abfrageeffekt eines der beiden Platzhalterzeichen entspricht = oder! =
4. Verwenden Sie beim Vergleich das SQL-Übereinstimmungsmuster, ohne Berücksichtigung der Groß- und Kleinschreibung
#查询用户名以某个字符开头的用户 #查询用户名以字符'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%';
regulärer Ausdruck Übereinstimmungsmuster Platzhalter (regulärer Ausdruck)
Entspricht einem beliebigen einzelnen Zeichen
* Entspricht 0 oder mehr Zeichen davor
x* bedeutet Übereinstimmung mit einer beliebigen Anzahl von x Zeichen
[..] Entspricht einem beliebigen Zeichen in Klammern
[abc] Entspricht dem Zeichen ab oder c [a-z] Entspricht einem beliebigen Buchstaben
[0-9] Entspricht einer beliebigen Zahl
[0-9]* Entspricht einer beliebigen Zahl einer beliebigen Zahl
[a-z]* Entspricht einer beliebigen Anzahl von Buchstaben
^ steht für ein bestimmtes Zeichen oder
beginnt ^a bedeutet, dass es mit dem Buchstaben a beginnt
$ bedeutet, dass es mit einem bestimmten Zeichen oder einer bestimmten Zeichenfolge endet
s$ bedeutet, dass es mit dem Buchstaben s endet
Die Operatoren Zum Abgleichen von Mustern mithilfe regulärer Ausdrücke werden verwendet:
REGEXP oder NOT REGEXP (RLIKE oder NOT RLIKE)
Hinweis: Vergleichsmuster für reguläre Ausdrücke, ihre regulären Ausdrücke Wenn die Formel irgendwo im Abgleichsfeld erscheint , das Muster von
wird abgeglichen. Es ist nicht erforderlich, auf beiden Seiten ein Platzhalterzeichen einzufügen, um eine Übereinstimmung zu erzielen. dann zeigt sein Übereinstimmungsmuster an, dass es größer oder gleich N ist;
Wie ist der obige Satz zu verstehen?
bedeutet
... Entspricht Daten, die größer oder gleich 3 Zeichen sind
.... Entspricht Daten, die größer oder gleich 4 Zeichen sind# Abfrage der Benutzername mit dem Zeichen l Benutzer beginnend mit: ^l;
#Reguläre Ausdrücke schreiben
thinkphp wie Fuzzy-Abfrage
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 '^...$';
Verwende derzeit thinkPHP-FrameworkAufgrund der guten Kapselung sind viele Teile der reinen PHP-Entwicklung nicht einfach zu starten. In diesem Artikel wird die Fuzzy-Abfrage als Beispiel verwendet.
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 der traditionellste Weg, aber nicht sehr sicher
Zum Beispiel:Der letzte generiert Die SQL-Anweisung lautet
$User = M("User"); // 实例化User对象 $User->where('type=1 AND status=1')->select();
SELECT * FROM think_user WHERE type=1 AND status=1
$User = M("User"); // 实例化User对象 $condition['name'] = 'thinkphp'; $condition['account'] = 'thinkphp'; $condition['_logic'] = 'OR'; // 把查询条件传入查询方法 $User->where($condition)->select();
SELECT * FROM think_user WHERE `name`='thinkphp' OR `account`='thinkphp'
$userForm=M('user'); $where['name']=array('like','php%'); $userForm->where($where)->select();
Das obige ist der detaillierte Inhalt vonEinführung in die Arten von Implementierungsmethoden von PHP-Abfragen und wie Abfragen in thinkphp implementiert werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!