Maison développement back-end tutoriel php Opérations d'ajout, de suppression, de modification et de requête dans la base de données thinkPHP

Opérations d'ajout, de suppression, de modification et de requête dans la base de données thinkPHP

Jun 07, 2018 pm 03:22 PM
thinkphp 增删改查 数据库

Cet article présente principalement les méthodes de fonctionnement de l'ajout, de la suppression, de la modification et de l'interrogation de la base de données thinkPHP, et analyse en détail les fonctions de fonctionnement de la base de données couramment utilisées et les compétences d'utilisation associées de thinkPHP sous forme d'exemples. Les amis dans le besoin peuvent s'y référer.

Cet article décrit les exemples de méthodes de fonctionnement de la base de données thinkPHP pour l'ajout, la suppression, la modification et la vérification. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

thinkphp encapsule l'ajout, la suppression, la modification et l'interrogation de la base de données, la rendant plus pratique à utiliser, mais pas nécessairement flexible.

peut être utilisé en encapsulation. Vous devez écrire du SQL et vous pouvez exécuter du SQL.

1. Original

$Model = new Model(); // 实例化一个model对象 没有对应任何数据表
$insert_sql = "INSERT INTO sh_wxuser_collection (user_id,store_id,good_id,addtime) VALUES('".$user_id."','".$store_id."','".$good_id."','".$addtime."');";
$Model - >query($insert_sql);
Copier après la connexion

2. le nom de la table ici est sh_wxuser_collection. sh est le préfixe.

$model = M('wxuser_collection'); //自动省去sh
$insert_sql = "INSERT INTO __TABLE__ (user_id,store_id,good_id,addtime) VALUES('".$user_id."','".$store_id."','".$good_id."','".$addtime."');";
$model - >query($insert_sql);
Copier après la connexion

Une autre façon d'écrire, _ peut être écrit en majuscule, il se convertira automatiquement en _

$model = M('WxuserCollection'); //自动省去sh
$insert_sql = "INSERT INTO __TABLE__ (user_id,store_id,good_id,addtime) VALUES('".$user_id."','".$store_id."','".$good_id."','".$addtime."');";
$model - >query($insert_sql);
Copier après la connexion

3. Déclaration d'ajout encapsulée

$model = M('WxuserCollection');
$data = array('user_id' = >$user_id, 'store_id' = >$store_id, 'good_id' = >$good_id, 'addtime' = >$addtime);
$model - >data($data) - >add();
Copier après la connexion

4. L'instruction

$model = M('WxuserCollection');
$data = array('user_id' = >$user_id, 'store_id' = >$store_id, 'good_id' = >$good_id, 'addtime' = >$addtime);
$model - >data($data) - >where('id=3') - >save();
Copier après la connexion

est en effet très pratique, mais à part la commodité, n'oubliez pas le sql d'origine, le sql d'origine, est le le plus intéressant et le plus efficace.

5.find()

$model = M('WxuserCollection');
$res1 = $model - >find(1);
$res2 = $model - >find(2);
$res3 = $model - >where('good_id=1105 AND store_id = 1 AND user_id = 20') - >find();
Copier après la connexion

find obtient une donnée, find(1) obtient l'identifiant Pour les données de 1, find(2) obtient les données avec l'identifiant 2. La dernière consiste à obtenir le premier élément de données avec la condition où.

5.select()

$model = M('WxuserCollection');
$res = $model - >where('good_id=1105 AND store_id = 1 AND user_id = 20') - >field('id,good_id as good') - >select();
Copier après la connexion

Obtenir toutes les données. L'avantage ici est que vous n'avez pas à prendre en compte l'ordre des instructions SQL, vous pouvez simplement appeler la fonction comme vous le souhaitez.

6.delete()

$model = M('WxuserCollection');
$res = $model - >where('id=1') - >delete(); // 成功返回1 失败返回0
Copier après la connexion

Supprimer les opérations en fonction des conditions

7.field()

$model = M('WxuserCollection');
$res = $model - >field('id,good_id as good') - >select();
$res = $model - >field(array('id', 'good_id' = >'good')) - >select();
$res = $model - >field('id', true) - >select();
Copier après la connexion

Chaîne, tableau de deux manières, troisième Le premier signifie obtenir tous les champs sauf l'identifiant de traitement.

8.order()

$model = M('WxuserCollection');
$res = $model - >order('id desc') - >select();
$res = $model - >order('id asc') - >select();
$res = $model - >order(array('id' = >'desc')) - >select();
$res = $model - >order(array('id')) - >select();
Copier après la connexion

Deux méthodes sont une chaîne et un tableau, la valeur par défaut est asc.

9.join()

$Model->join(' work ON artist.id = work.artist_id')->join('card ON artist.card_id = card.id')->select();
$Model->join('RIGHT JOIN work ON artist.id = work.artist_id')->select();
$Model->join(array(' work ON artist.id = work.artist_id','card ON artist.card_id = card.id'))->select();
Copier après la connexion

La méthode LEFT JOIN est utilisée par défaut si vous en avez besoin. pour utiliser d'autres JOIN La méthode peut être remplacée par la deuxième méthode.

Si les paramètres de la méthode join sont des tableaux, la méthode join ne peut être utilisée qu'une seule fois et elle ne peut pas être mélangée avec la méthode string.

10.setInc()

$User = M("User"); // 实例化User对象
$User->where('id=5')->setInc('score',3); // 用户的积分加3
$User->where('id=5')->setInc('score'); // 用户的积分加1
$User->where('id=5')->setDec('score',5); // 用户的积分减5
$User->where('id=5')->setDec('score'); // 用户的积分减1
Copier après la connexion

11.getField()

Obtenir une valeur de champ

$User = M("User"); // 实例化User对象
// 获取ID为3的用户的昵称
$nickname = $User->where('id=3')->getField('nickname');
Copier après la connexion

Le surnom renvoyé est un résultat de chaîne. Autrement dit, même si plusieurs champs remplissent la condition, un seul résultat sera renvoyé.

Obtenir une certaine colonne de champ

Si vous souhaitez renvoyer la colonne de champ (résultats multiples) qui répond aux exigences, vous pouvez utiliser :

$User = M("User"); // 实例化User对象
// 获取status为1的用户的昵称列表
$nickname = $User->where('status=1')->getField('nickname',true);
Copier après la connexion

Le deuxième paramètre est passé à true, et le pseudo renvoyé est un tableau contenant une liste de tous les pseudos qui remplissent les conditions.

Si vous devez limiter le nombre de résultats renvoyés, vous pouvez utiliser :

$nickname = $User->where('status=1')->getField('nickname',8);
Copier après la connexion

Obtenir 2 listes de champs

$User = M("User"); // 实例化User对象
 // 获取status为1的用户的昵称列表
$nickname = $User->where('status=1')->getField('id,nickname');
Copier après la connexion

Si la méthode getField transmet plusieurs noms de champs, un tableau associatif sera renvoyé par défaut, avec le la valeur du premier champ étant Index (le premier champ doit donc être choisi aussi non dupliqué que possible).

Obtenir plusieurs listes de champs

$result = $User->where('status=1')->getField('id,account,nickname');
Copier après la connexion

Si 2 sont transmis dans ce qui précède les noms de champs renverront un tableau à deux dimensions (similaire à la valeur de retour de la méthode select, la différence est que le nom de clé de l'index est la valeur du premier champ du tableau à deux dimensions)

Cas d'utilisation complet

$where = array('a.store_id' => $this->store_id, 'a.user_id' => $this->user_id);
$collects = $this->collectModel->table("sh_wxuser_collection a")->field(array('b.name','b.price','b.oprice','b.logoimg','a.goods_id'))->limit($start, $offset)->order('a.addtime DESC')->where($where)->join(' sh_goods b ON a.goods_id = b.id')->select();// 获取当前页的记录
echo M()->getLastSql(); // 调试sql语句用
$count = $this->collectModel->table("sh_wxuser_collection a")->where($where)->count(); // 获取总的记录数
Copier après la connexion

Puisque deux tables sont combinées ici, la méthode table est utilisée pour redéfinir le nom de la table en conséquence. Les conditions et les paramètres doivent être préfixés. a. Ou b.

où le champ field est soit une chaîne, soit un tableau.

field('b.name', 'b.price', 'b.oprice', 'b.logoimg', 'a.goods_id') // 错误
Copier après la connexion

J'ai déjà écrit ceci, et c'est un énorme problème.

En utilisant un framework, vous ne pouvez pas écrire SQL de manière flexible. Cependant, avoir une compréhension approfondie de SQL vous aidera également à utiliser le framework de manière flexible.

Méthode de débogage des instructions SQL.

echo M()->getLastSql();
Copier après la connexion

Très pratique.

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

PHP télécharge des fichiers Excel pour importer des données dans la base de données MySQL

ajouts à la base de données de la version thinkphp3.2.3 , suppressions et modifications Vérifier le code d'implémentation

thinkPHP5 implémente la méthode d'ajout de contenu à la base de données

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 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

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)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment exécuter le projet thinkphp Comment exécuter le projet thinkphp Apr 09, 2024 pm 05:33 PM

Pour exécuter le projet ThinkPHP, vous devez : installer Composer ; utiliser Composer pour créer le projet ; entrer dans le répertoire du projet et exécuter php bin/console serve ; visiter http://localhost:8000 pour afficher la page d'accueil.

Il existe plusieurs versions de thinkphp Il existe plusieurs versions de thinkphp Apr 09, 2024 pm 06:09 PM

ThinkPHP dispose de plusieurs versions conçues pour différentes versions de PHP. Les versions majeures incluent 3.2, 5.0, 5.1 et 6.0, tandis que les versions mineures sont utilisées pour corriger les bogues et fournir de nouvelles fonctionnalités. La dernière version stable est ThinkPHP 6.0.16. Lorsque vous choisissez une version, tenez compte de la version PHP, des exigences en matière de fonctionnalités et du support de la communauté. Il est recommandé d'utiliser la dernière version stable pour de meilleures performances et une meilleure assistance.

Comment exécuter thinkphp Comment exécuter thinkphp Apr 09, 2024 pm 05:39 PM

Étapes pour exécuter ThinkPHP Framework localement : Téléchargez et décompressez ThinkPHP Framework dans un répertoire local. Créez un hôte virtuel (facultatif) pointant vers le répertoire racine ThinkPHP. Configurez les paramètres de connexion à la base de données. Démarrez le serveur Web. Initialisez l'application ThinkPHP. Accédez à l'URL de l'application ThinkPHP et exécutez-la.

Comment installer thinkphp Comment installer thinkphp Apr 09, 2024 pm 05:42 PM

Étapes d'installation de ThinkPHP : Préparez les environnements PHP, Composer et MySQL. Créez des projets à l'aide de Composer. Installez le framework ThinkPHP et ses dépendances. Configurez la connexion à la base de données. Générez le code de l'application. Lancez l'application et visitez http://localhost:8000.

Quelles sont les performances de thinkphp ? Quelles sont les performances de thinkphp ? Apr 09, 2024 pm 05:24 PM

ThinkPHP est un framework PHP hautes performances présentant des avantages tels que le mécanisme de mise en cache, l'optimisation du code, le traitement parallèle et l'optimisation des bases de données. Les tests de performances officiels montrent qu'il peut gérer plus de 10 000 requêtes par seconde et qu'il est largement utilisé dans les sites Web à grande échelle et les systèmes d'entreprise tels que JD.com et Ctrip dans les applications réelles.

Comment Hibernate implémente-t-il le mappage polymorphe ? Comment Hibernate implémente-t-il le mappage polymorphe ? Apr 17, 2024 pm 12:09 PM

Le mappage polymorphe Hibernate peut mapper les classes héritées à la base de données et fournit les types de mappage suivants : join-subclass : crée une table séparée pour la sous-classe, incluant toutes les colonnes de la classe parent. table par classe : créez une table distincte pour les sous-classes, contenant uniquement des colonnes spécifiques aux sous-classes. union-subclass : similaire à join-subclass, mais la table de classe parent réunit toutes les colonnes de la sous-classe.

Tutoriel détaillé sur l'établissement d'une connexion à une base de données à l'aide de MySQLi en PHP Tutoriel détaillé sur l'établissement d'une connexion à une base de données à l'aide de MySQLi en PHP Jun 04, 2024 pm 01:42 PM

Comment utiliser MySQLi pour établir une connexion à une base de données en PHP : Inclure l'extension MySQLi (require_once) Créer une fonction de connexion (functionconnect_to_db) Appeler la fonction de connexion ($conn=connect_to_db()) Exécuter une requête ($result=$conn->query()) Fermer connexion ( $conn->close())

iOS 18 ajoute une nouvelle fonction d'album 'Récupéré' pour récupérer les photos perdues ou endommagées iOS 18 ajoute une nouvelle fonction d'album 'Récupéré' pour récupérer les photos perdues ou endommagées Jul 18, 2024 am 05:48 AM

Les dernières versions d'Apple des systèmes iOS18, iPadOS18 et macOS Sequoia ont ajouté une fonctionnalité importante à l'application Photos, conçue pour aider les utilisateurs à récupérer facilement des photos et des vidéos perdues ou endommagées pour diverses raisons. La nouvelle fonctionnalité introduit un album appelé "Récupéré" dans la section Outils de l'application Photos qui apparaîtra automatiquement lorsqu'un utilisateur a des photos ou des vidéos sur son appareil qui ne font pas partie de sa photothèque. L'émergence de l'album « Récupéré » offre une solution aux photos et vidéos perdues en raison d'une corruption de la base de données, d'une application d'appareil photo qui n'enregistre pas correctement dans la photothèque ou d'une application tierce gérant la photothèque. Les utilisateurs n'ont besoin que de quelques étapes simples

See all articles