recherche
Maisoncadre phpPensezPHPComment thinkphp interroge la base de données

Comment thinkphp interroge la base de données

Comment thinkphp interroge-t-il la base de données ?

Requête de base de données

ThinkPHP intègre des méthodes de requête très flexibles, qui peuvent effectuer rapidement des opérations de requête de données.

Les conditions de requête peuvent être utilisées pour toute opération telle que CURD et peuvent être transmises en tant que paramètres de la méthode Where.

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 car c'est plus sûr.

Méthode de requête

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

C'est la méthode la plus traditionnelle, mais elle est plus sûre. Pas élevé, par exemple :

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

La dernière instruction SQL générée est

SELECT * FROM think_user WHERE type=1 AND status=1

2. Utiliser des tableaux comme conditions de requête

$User = M("User"); // 实例化User对象
$condition['name'] = 'thinkphp';
$condition['status'] = 1;
 // 把查询条件传入查询方法
$User->where($condition)->select();

Le dernier SQL généré instruction Yes

SELECT * FROM think_user WHERE 'name'='thinkphp' AND status=1

Si vous effectuez une requête multi-champs, 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 la requête :

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

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

SELECT * FROM think_user WHERE 'name'='thinkphp' OR `account`='thinkphp'

3. Utilisez la méthode objet pour interroger (ici, prenez l'objet intégré stdClass comme exemple. )

$User = M("User"); // 实例化User对象
 // 定义查询条件
$condition = new stdClass(); 
$condition->name = 'thinkphp'; 
$condition->status= 1; 
$User->where($condition)->select();

L'instruction SQL finale générée est la même que ci-dessus

SELECT * FROM think_user WHERE `name`='thinkphp' AND status=1

L'effet de l'utilisation de la requête en mode objet et de l'utilisation de la requête tableau est le même et interchangeable Dans la plupart des cas, nous. Nous recommandons d'utiliser le mode tableau pour être plus efficace. Nous utiliserons plus tard la méthode tableau comme exemple pour expliquer l'utilisation spécifique du langage de requête.

Requête d'expression

La condition de requête ci-dessus n'est qu'un simple jugement d'égalité. Les expressions de requête peuvent être utilisées pour prendre en charge davantage de syntaxe de requête SQL et peuvent être utilisées dans un tableau ou dans une requête. En mode objet (seul le mode tableau est utilisé comme exemple ci-dessous), le format de l'expression de requête est :

$map['字段名'] = array('表达式','查询条件');

L'expression n'est pas sensible à la casse. Les expressions de requête prises en charge sont respectivement les suivantes : <.>

Comment thinkphp interroge la base de données

$map[&#39;id&#39;]  = array(&#39;eq&#39;,100);  id = 100;
 $map[&#39;id&#39;]  = array(&#39;egt&#39;,100);id >= 100
 $map[&#39;name&#39;] = array(&#39;like&#39;,&#39;thinkphp%&#39;); name like &#39;thinkphp%&#39; 模糊查询
 $map[&#39;a&#39;] =array(&#39;like&#39;,array(&#39;%thinkphp%&#39;,&#39;%tp&#39;),&#39;OR&#39;);$map[&#39;b&#39;] =array(&#39;notlike&#39;,array(&#39;%thinkphp%&#39;,&#39;%tp&#39;),&#39;AND&#39;); (a like &#39;%thinkphp%&#39; OR a like &#39;%tp&#39;) AND (b not like &#39;%thinkphp%&#39; AND b not like &#39;%tp&#39;)

Cet article provient de la colonne d'articles techniques du framework ThinkPHP :

http://www.php.cn/phpkj/thinkphp /

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!

Déclaration
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
Quelles sont les principales caractéristiques du cadre de test intégré de ThinkPHP?Quelles sont les principales caractéristiques du cadre de test intégré de ThinkPHP?Mar 18, 2025 pm 05:01 PM

L'article traite du cadre de test intégré de ThinkPhP, mettant en évidence ses principales fonctionnalités telles que les tests d'unité et d'intégration, et comment il améliore la fiabilité des applications grâce à la détection précoce des bogues et à une meilleure qualité de code.

Comment utiliser ThinkPHP pour construire des flux de données boursières en temps réel?Comment utiliser ThinkPHP pour construire des flux de données boursières en temps réel?Mar 18, 2025 pm 04:57 PM

L'article discute de l'utilisation de ThinkPHP pour les flux de données boursières en temps réel, en se concentrant sur la configuration, la précision des données, l'optimisation et les mesures de sécurité.

Quelles sont les principales considérations pour utiliser ThinkPhp dans une architecture sans serveur?Quelles sont les principales considérations pour utiliser ThinkPhp dans une architecture sans serveur?Mar 18, 2025 pm 04:54 PM

L'article traite des considérations clés pour l'utilisation de ThinkPHP dans des architectures sans serveur, en se concentrant sur l'optimisation des performances, la conception sans état et la sécurité. Il met en évidence des avantages tels que la rentabilité et l'évolutivité, mais relève également des défis

Comment implémenter la découverte de services et l'équilibrage de chargement dans les microservices ThinkPHP?Comment implémenter la découverte de services et l'équilibrage de chargement dans les microservices ThinkPHP?Mar 18, 2025 pm 04:51 PM

L'article discute de la mise en œuvre de la découverte de services et de l'équilibrage des charges dans les microservices ThinkPHP, en se concentrant sur la configuration, les meilleures pratiques, les méthodes d'intégration et les outils recommandés. [159 caractères]

Quelles sont les caractéristiques avancées du conteneur d'injection de dépendance de ThinkPhp?Quelles sont les caractéristiques avancées du conteneur d'injection de dépendance de ThinkPhp?Mar 18, 2025 pm 04:50 PM

Le conteneur IOC de ThinkPhp propose des fonctionnalités avancées comme le chargement paresseux, la liaison contextuelle et l'injection de méthode pour une gestion efficace des dépendances dans les applications PHP. COMMANDE CHARACTER: 159

Comment utiliser ThinkPHP pour créer des outils de collaboration en temps réel?Comment utiliser ThinkPHP pour créer des outils de collaboration en temps réel?Mar 18, 2025 pm 04:49 PM

L'article discute de l'utilisation de ThinkPHP pour créer des outils de collaboration en temps réel, en se concentrant sur la configuration, l'intégration WebSocket et les meilleures pratiques de sécurité.

Quels sont les principaux avantages de l'utilisation de ThinkPHP pour construire des applications SaaS?Quels sont les principaux avantages de l'utilisation de ThinkPHP pour construire des applications SaaS?Mar 18, 2025 pm 04:46 PM

ThinkPHP profite aux applications SaaS avec sa conception légère, son architecture MVC et sa extensibilité. Il améliore l'évolutivité, accélère le développement et améliore la sécurité grâce à diverses fonctionnalités.

Comment construire un système de file d'attente de tâches distribué avec ThinkPhp et RabbitMQ?Comment construire un système de file d'attente de tâches distribué avec ThinkPhp et RabbitMQ?Mar 18, 2025 pm 04:45 PM

L'article décrit la création d'un système de file d'attente de tâches distribué à l'aide de ThinkPhp et RabbitMQ, en se concentrant sur l'installation, la configuration, la gestion des tâches et l'évolutivité. Les problèmes clés incluent assurer la haute disponibilité, éviter les pièges communs comme Imprope

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

PhpStorm version Mac

PhpStorm version Mac

Le dernier (2018.2.1) outil de développement intégré PHP professionnel

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

Intégrez Eclipse au serveur d'applications SAP NetWeaver.

SublimeText3 version anglaise

SublimeText3 version anglaise

Recommandé : version Win, prend en charge les invites de code !

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

Dreamweaver Mac

Dreamweaver Mac

Outils de développement Web visuel