thinkphp implémente un exemple de requête floue

不言
Libérer: 2023-03-30 07:10:01
original
8028 Les gens l'ont consulté

Cet article présente principalement l'implémentation de requêtes floues similaires dans thinkphp. Il utilise des exemples pour décrire la méthode d'implémentation de requêtes floues similaires sous forme de chaîne et de tableau comme conditions de requête. référez-vous à lui.

L'exemple dans cet article décrit comment thinkphp implémente une requête floue, et j'aimerais le partager avec vous pour votre référence. La méthode d'implémentation spécifique est la suivante :

Actuellement, de plus en plus de personnes utilisent le framework thinkphp pour le développement de projets. En raison de sa bonne encapsulation, de nombreuses parties du développement PHP pur ne sont pas faciles à démarrer. dans cet article sont flous avec comme Query est un exemple pour illustrer cela.

Ici, nous utilisons principalement des exemples pour illustrer l'utilisation :

ThinkPHP peut prendre en charge l'utilisation directe de chaînes comme conditions de requête, mais dans la plupart des cas, il est recommandé d'utiliser des tableaux d'index ou des objets comme conditions de requête, parce que c'est plus sûr.

1. Utiliser des chaînes comme conditions de requête

C'est la manière la plus traditionnelle, mais elle n'est pas très sûre
Par exemple :

Copier le code. Le code est le suivant :

$User = M("User"); // 实例化User对象
$User->where('type=1 AND status=1')->select();
Copier après la connexion

L'instruction SQL finale générée est

Copier le code Le code est le suivant :

SELECT * FROM think_user WHERE type=1 AND status=1
Copier après la connexion

Si vous effectuez une requête sur plusieurs champs, alors la relation logique par défaut entre les champs est ET logique, mais le jugement logique par défaut peut être modifié à l'aide des règles suivantes, en utilisant _logic pour définir la logique de requête :

Copier le code Code comme suit :

$User = M("User"); // 实例化User对象
$condition['name'] = 'thinkphp';
$condition['account'] = 'thinkphp';
$condition['_logic'] = 'OR';
// 把查询条件传入查询方法
$User->where($condition)->select();
Copier après la connexion

L'instruction SQL finale générée est

Copiez le code Le code est le suivant :

SELECT * FROM think_user WHERE `name`='thinkphp' OR `account`='thinkphp'
Copier après la connexion

2. Le mode tableau comme condition de requête

Après avoir tant parlé de la façon d'implémenter une requête similaire, regardons

Copier le codeLe code est la suivante :

$userForm=M('user'); 
$where['name']=array('like','php%');
$userForm->where($where)->select();
Copier après la connexion

La requête similaire ici est pour :

Copier le codeLe code est la suivante :

name like 'php%'
Copier après la connexion

Requête déclaration :

Copier le codeLe code est le suivant :

$where['name']=array('like',array('%php%','%.com'),'OR');
Copier après la connexion

La requête similaire ici est :

Copier le code Le code est le suivant :

name like '%php%' or name like '%.com'
Copier après la connexion

Instruction de requête :

Copier le codeLe code est le suivant :

$where['name']=array(array('like','%a%'),array('like','%b%'),array('like','%c%'),'php','or');
Copier après la connexion

Le j'aime la requête ici est :

Copier le codeLe code est le suivant :

(`name` LIKE '%a%') OR (`name` LIKE '%b%') OR (`name` LIKE '%c%') OR (`name` = 'php')
Copier après la connexion

Instruction de requête :

Copier le code Le code est le suivant :

$where['_string']='(name like "%php%")  OR (title like "%php")';
Copier après la connexion

La requête J'aime ici est :

Copier le code Le code est le suivant :

name like '%jb51%' or title like '%php'
Copier après la connexion

Recommandations associées :

thinkphp implémente 163, méthode de boîte aux lettres QQ pour l'envoi et la réception d'e-mails_php skills

Opération de base d'ajout, de suppression, de vérification et de modification de ThinkPHP exemple de tutoriel

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!