


Parlons du fonctionnement de la base de données de Thinkphp 5.0 (code clé)
Sep 23, 2022 pm 07:28 PMUn site Web standard doit être indissociable des opérations de base de données. Dans ce cours, je travaillerai avec vous pour découvrir le mystère des opérations de données ThinkPHP5 et j'utiliserai volontiers ThinkPHP5 pour exploiter la base de données avec vous, rendant les opérations de base de données plus agréables. Utilisation de base
Requête de données
find renvoie un enregistrement, le retour Le résultat est un tableau à une dimension. Si le résultat n'existe pas, NULL est renvoyé. Db::query('select?*?from?think_user?where?id=?',[8]);
select renvoie tous les enregistrements. Si le résultat n'existe pas, un tableau vide est renvoyé.
Db::execute('insert?into?think_user?(id,?name)?values?(?,??)',[8,'thinkphp']);Fonction AssistantSystème Une fonction d'assistant de base de données est fournie pour des requêtes plus pratiques?:
Db::table('think_user')->where('id',1)->find();Remarque?: L'utilisation de la fonction d'assistant de base de données se reconnectera à la base de données à chaque fois par défaut, tout en utilisant le Db::name ou La méthode Db::table est un singleton. Si la fonction db doit utiliser le même lien, vous pouvez transmettre le troisième paramètre, tel que
Db::table('think_user')->where('status',1)->select();
Ajouter des données
Utilisez la méthode d'insertion de la classe Db pour soumettre des données à la base de donnéesdb('user')->where('id',1)->find();
db('user')->where('status',1)->select();
Pour ajouter plusieurs éléments de données, transmettez simplement les données à ajouter directement à la méthode insertAll de la classe Db
db('user',[],false)->where('id',1)->find();
db('user',[],false)->where('status',1)->select();
La méthode insertAll ajoute avec succès les données et renvoie le nombre d'éléments ajoutés avec succès Pieces
Fonction Assistant
$data?=?['foo'?=>?'bar',?'bar'?=>?'foo']; Db::table('think_user')->insert($data);Update data
La méthode update renvoie le nombre de données affectées, si aucune donnée n'est modifiée, elle renvoie 0$data?=?[????['foo'?=>?'bar',?'bar'?=>?'foo'],
????['foo'?=>?'bar1',?'bar'?=>?'foo1'],
????['foo'?=>?'bar2',?'bar'?=>?'foo2']
];
Db::name('user')->insertAll($data);
Mise à jour de la valeur d'un certain champ?: la méthode setField renvoie le nombre des données concernées, si aucun champ de données n'est modifié, il renvoie 0
//?添加單條數(shù)據(jù) db('user')->insert($data); //?添加多條數(shù)據(jù) db('user')->insertAll($list);
Db::table('think_user')->where('id',?1)->update(['name'?=>?'thinkphp']);Mise à jour différée
Db::table('think_user')->where('id',1)->setField('name',?'thinkphp');
Supprimer les données自增或自減一個字段的值
//?score?字段加?1
Db::table('think_user')->where('id',?1)->setInc('score');
//?score?字段加?5
Db::table('think_user')->where('id',?1)->setInc('score',?5);
//?score?字段減?1
Db::table('think_user')->where('id',?1)->setDec('score');
//?score?字段減?5
Db::table('think_user')->where('id',?1)->setDec('score',?5);
Méthode de requête conditionnelle
Vous pouvez utiliser le où méthode pour effectuer une requête conditionnelle ET?:
Db::table('think_user')->where('id',?1)->setInc('score',?1,?10);
méthodewhereOr
//?根據(jù)主鍵刪除 Db::table('think_user')->delete(1); Db::table('think_user')->delete([1,2,3]); //?條件刪除???? Db::table('think_user')->where('id',1)->delete(); Db::table('think_user')->where('id','<',10)->delete();
Requête mixte
La méthode Where et la méthode WhereOr doivent souvent être mélangées dans des conditions de requête complexes. Voici un exemple?:
Db::table('think_user')
????->where('name','like','%thinkphp')
????->where('status',1)
????->find();
. Expression de requête
L'expression de requête prend en charge la plupart des syntaxes de requête SQL et constitue également l'essence du langage de requête ThinkPHP, le format d'utilisation de l'expression de requête?: Db::table('think_user')
????->where('name','like','%thinkphp')
????->whereOr('title','like','%thinkphp')
????->find();
$result?=?Db::table('think_user')->where(function?($query)?{
????$query->where('id',?1)->whereor('id',?2);
})->whereOr(function?($query)?{
????$query->where('name',?'like',?'think')->whereOr('name',?'like',?'thinkphp');
})->select();
[Recommandation de didacticiel associée?: thinkphp framework
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

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

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

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

La méthode pour obtenir l'ID de session en cours dans PHP est d'utiliser la fonction session_id (), mais vous devez appeler session_start () pour l'obtenir avec succès. 1. Appelez session_start () pour démarrer la session; 2. Utilisez session_id () pour lire l'ID de session et sortir une cha?ne similaire à ABC123DEF456GHI789; 3. Si le retour est vide, vérifiez si session_start () est manquant, si l'utilisateur accède pour la première fois, ou si la session est détruite; 4. L'ID de session peut être utilisé pour l'exploitation forestière, la vérification de la sécurité et la communication croisée, mais la sécurité doit être prêtée attention. Assurez-vous que la session est correctement activée et que l'ID peut être obtenu avec succès.

Pour extraire les sous-cha?nes de cha?nes PHP, vous pouvez utiliser la fonction substr (), qui est Syntax substr (String $ string, int $ start ,? int $ longueur = null), et si la longueur n'est pas spécifiée, elle sera interceptée à la fin; Lors du traitement des caractères multi-octets tels que le chinois, vous devez utiliser la fonction mb_substr () pour éviter le code brouillé; Si vous avez besoin d'intercepter la cha?ne en fonction d'un séparateur spécifique, vous pouvez utiliser exploit () ou combiner strpos () et substr () pour l'implémenter, tels que l'extraction d'extensions de nom de fichier ou de noms de domaine.

UnittestingInphpinvolvesverifierifySindividualCodeUnits like outweethodstocatchbugSearlyAndensureReliveLerefactoring.1) setupphpunitviacomposer, createAtestDirectory, andconfigureAutoloadandphpunit.xml.2)

Dans PHP, la méthode la plus courante consiste à diviser la cha?ne en un tableau à l'aide de la fonction Exploit (). Cette fonction divise la cha?ne en plusieurs parties via le délimiteur spécifié et renvoie un tableau. La syntaxe est Exploit (séparateur, cha?ne, limite), où le séparateur est le séparateur, la cha?ne est la cha?ne d'origine et la limite est un paramètre facultatif pour contr?ler le nombre maximum de segments. Par exemple $ str = "pomme, banane, orange"; $ arr = explosage (",", $ str); Le résultat est ["Apple", "Bana

Les types de données JavaScript sont divisés en types primitifs et types de référence. Les types primitifs incluent la cha?ne, le nombre, le booléen, le nul, un non défini et le symbole. Les valeurs sont immuables et les copies sont copiées lors de l'attribution des valeurs, de sorte qu'elles ne se affectent pas; Les types de référence tels que les objets, les tableaux et les fonctions stockent les adresses de mémoire, et les variables pointant vers le même objet s'afferchent mutuellement. Le typeof et l'instance de OFF peuvent être utilisés pour déterminer les types, mais prêtent attention aux problèmes historiques de typeofnull. Comprendre ces deux types de différences peut aider à écrire un code plus stable et fiable.

STD :: Chrono est utilisé en C pour traiter le temps, y compris l'obtention de l'heure actuelle, la mesure du temps d'exécution, le point de fonctionnement et la durée de l'opération et le temps d'analyse de formatage. 1. Utilisez STD :: Chrono :: System_clock :: Now () pour obtenir l'heure actuelle, qui peut être convertie en une cha?ne lisible, mais l'horloge système peut ne pas être monotone; 2. Utilisez STD :: Chrono :: standard_clock pour mesurer le temps d'exécution pour assurer la monotonie, et la convertir en millisecondes, secondes et autres unités via durée_cast; 3. Point de temps (temps_point) et durée (durée) peut être interopérable, mais l'attention doit être accordée à la compatibilité des unités et à l'époque de l'horloge (époque)

Dans PHP, pour passer une variable de session à une autre page, la clé consiste à démarrer correctement la session et à utiliser le même nom de clé $ _Session. 1. Avant d'utiliser des variables de session pour chaque page, il doit être appelé session_start () et placé à l'avant du script; 2. Définir des variables de session telles que $ _Session ['username'] = 'JohnDoe' sur la première page; 3. Après avoir appelé session_start () sur une autre page, accédez aux variables via le même nom de clé; 4. Assurez-vous que Session_Start () est appelé sur chaque page, évitez la sortie du contenu à l'avance et vérifiez que le chemin de stockage de session sur le serveur est écrivable; 5. Utilisez SES

Lorsque vous rencontrez le problème que l'en-tête (?emplacement: ...?) ne fonctionne pas, les raisons et les solutions courantes sont les suivantes: 1. Il y a une sortie à l'avance, ce qui fait échouer l'en-tête. La solution consiste à s'assurer qu'il n'y a pas de sortie avant le saut, y compris les espaces, le HTML ou l'écho; 2. Il y a des caractères de sortie en excès ou UTF-8 dans le fichier include ou nécessite. L'encodage du fichier doit être vérifié et enregistré comme "UTF-8 Bom-Free"; 3. Il est recommandé d'utiliser ob_start () pour activer le tampon de sortie avant le saut et coopérer avec ob_end_flush () pour retarder la sortie; 4. Après le saut, assurez-vous d'ajouter la sortie pour empêcher l'exécution de code ultérieure; 5. Assurez-vous que l'appel de fonction en-tête () est avant toutes les sorties.
