Maison développement back-end tutoriel php Comment exécuter des instructions SQL natives dans le framework thinkPHP

Comment exécuter des instructions SQL natives dans le framework thinkPHP

Jun 07, 2018 pm 05:38 PM
sql语句 thinkphp框架 原生 执行

Cet article présente principalement la méthode d'exécution d'instructions SQL natives dans le framework thinkPHP. Il analyse les compétences opérationnelles associées à l'exécution d'instructions SQL natives dans thinkPHP sous forme d'exemples et analyse brièvement la différence entre les méthodes de requête et d'exécution. Amis qui en ont besoin Vous pouvez vous référer à l'exemple

dans cet article pour décrire la méthode d'exécution des instructions SQL natives dans le framework thinkPHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Comment exécuter des instructions SQL natives dans thinkphp ?

$Model = new Model();//或者 $Model = D(); 或者 $Model = M();
$sql = "select * from `order`";
$voList = $Model->query($sql);
Copier après la connexion

Il suffit de créer un modèle vide pour hériter des méthodes de Model.

Remarquequery est la fonction de requête, exécuter est la fonction d'ajout, de suppression et de modification

Instances d'interrogation et de lecture des valeurs d'attribut :

$sql = "select * from goods";
$Model = M();
$result = $Model->query($sql);
foreach ($result as $k=>$val){
$goods_id = $val["goods_id"];
}
Copier après la connexion

Le modèle de tP peut prendre en charge les opérations SQL natives et fournit deux méthodes : interroger et exécuter. Pourquoi le SQL natif fait-il la distinction entre deux méthodes :

1. Une requête

différente est utilisée pour interroger , renvoie l'ensemble de données , de la même manière que select ou findall, vous pouvez donc utiliser la balise volist directement dans le modèle pour afficher la requête Les résultats de la requête de

execute sont utilisés pour les opérations d'écriture , renvoie l'état ou le nombre d'enregistrements concernés

2. Statistiques de lecture et d'écriture Besoin

Afin de faciliter les statistiques du nombre actuel de lectures et d'écritures de données, séparer les opérations de lecture et d'écriture de la base de données (correspondant à l'interrogation et à l'exécution)

L'utilisation du SQL natif est très simple, nous n'avons même pas besoin d'instancier un modèle, par exemple :

$Model = new Model(); // 实例化一个空模型
Copier après la connexion

Les méthodes suivantes sont équivalentes

$Model = D();// 或者 $Model = M();
// 下面执行原生SQL操作
$Model->query('select * from think_user where status=1');
$Model->execute('update think_user set status=1 where id=1');
Copier après la connexion

Si vous instanciez un modèle, vous pouvez toujours effectuer des opérations SQL natives, ne seront pas affectés, par exemple :

$User = D('User');
$User->query('select * from think_user where status=1');
$User->execute('update think_user set status=1 where id=1');
Copier après la connexion

Dans ce cas, on peut simplifier l'écriture des instructions SQL, par exemple :

$User->query('select * from __TABLE__ where status=1');
$User->execute('update __TABLE__ set status=1 where id=1');
Copier après la connexion

Le système mettra automatiquement __TABLE__Remplacer par le nom de la table de données correspondant au modèle actuel. La table de données réelle est déterminée par le modèle.

De manière générale, nous utilisons des opérations SQL natives pour implémenter certaines opérations difficiles à mettre en œuvre avec ORM et CURD De plus, Si le SQL n'est pas complexe, l'efficacité et. cohérence du SQL natif La différence d'efficacité opérationnelle est minime et l'implémentation ORM de TP elle-même est également assez efficace.

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 :

Le framework ThinkPHP5 implémente simplement les requêtes par lots

Le framework ThinkPHP3.2 utilise addAll() pour l'insertion par lots Méthode de données

Méthode thinkPHP5 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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Puis-je installer mysql sur Windows 7 Puis-je installer mysql sur Windows 7 Apr 08, 2025 pm 03:21 PM

Oui, MySQL peut être installé sur Windows 7, et bien que Microsoft ait cessé de prendre en charge Windows 7, MySQL est toujours compatible avec lui. Cependant, les points suivants doivent être notés lors du processus d'installation: téléchargez le programme d'installation MySQL pour Windows. Sélectionnez la version appropriée de MySQL (communauté ou entreprise). Sélectionnez le répertoire d'installation et le jeu de caractères appropriés pendant le processus d'installation. Définissez le mot de passe de l'utilisateur racine et gardez-le correctement. Connectez-vous à la base de données pour les tests. Notez les problèmes de compatibilité et de sécurité sur Windows 7, et il est recommandé de passer à un système d'exploitation pris en charge.

Comment créer des tables avec SQL Server à l'aide de l'instruction SQL Comment créer des tables avec SQL Server à l'aide de l'instruction SQL Apr 09, 2025 pm 03:48 PM

Comment créer des tables à l'aide de instructions SQL dans SQL Server: Ouvrez SQL Server Management Studio et connectez-vous au serveur de base de données. Sélectionnez la base de données pour créer le tableau. Entrez l'instruction Créer la table pour spécifier le nom de la table, le nom de la colonne, le type de données et les contraintes. Cliquez sur le bouton Exécuter pour créer le tableau.

Comment juger l'injection SQL Comment juger l'injection SQL Apr 09, 2025 pm 04:18 PM

Les méthodes pour juger l'injection de SQL incluent: la détection des entrées suspectes, la visualisation des instructions SQL originales, l'utilisation d'outils de détection, la visualisation des journaux de la base de données et l'exécution des tests de pénétration. Une fois l'injection détectée, prenez des mesures pour corriger les vulnérabilités, vérifier les correctifs, surveiller régulièrement et améliorer la sensibilisation des développeurs.

Comment vérifier les instructions SQL Comment vérifier les instructions SQL Apr 09, 2025 pm 04:36 PM

Les méthodes pour vérifier les instructions SQL sont: Vérification de la syntaxe: utilisez l'éditeur SQL ou IDE. Vérification logique: vérifiez le nom de la table, le nom de la colonne, l'état et le type de données. Vérification des performances: utilisez Expliquez ou analysez pour vérifier les index et optimiser les requêtes. Autres vérifications: Vérifier les variables, les autorisations et les requêtes de test.

MySQL optimise-t-il les tables de verrouillage MySQL optimise-t-il les tables de verrouillage Apr 08, 2025 pm 01:51 PM

MySQL utilise des verrous partagés et des verrous exclusifs pour gérer la concurrence, fournissant trois types de verrouillage: verrous de table, verrous en ligne et verrous de page. Les verrous en ligne peuvent améliorer la concurrence et utiliser l'instruction pour la mise à jour pour ajouter des verrous exclusifs aux lignes. Les verrous pessimistes supposent des conflits et les verrous optimistes jugent les données via le numéro de version. Les problèmes de table de verrouillage communs se manifestent comme une requête lente, utilisez la commande show processList pour afficher les requêtes maintenues par la serrure. Les mesures d'optimisation incluent la sélection des indices appropriés, la réduction de la portée des transactions, les opérations par lots et l'optimisation des instructions SQL.

MySQL doit-il payer MySQL doit-il payer Apr 08, 2025 pm 05:36 PM

MySQL a une version communautaire gratuite et une version d'entreprise payante. La version communautaire peut être utilisée et modifiée gratuitement, mais le support est limité et convient aux applications avec des exigences de stabilité faibles et des capacités techniques solides. L'Enterprise Edition fournit une prise en charge commerciale complète pour les applications qui nécessitent une base de données stable, fiable et haute performance et disposées à payer pour le soutien. Les facteurs pris en compte lors du choix d'une version comprennent la criticité des applications, la budgétisation et les compétences techniques. Il n'y a pas d'option parfaite, seulement l'option la plus appropriée, et vous devez choisir soigneusement en fonction de la situation spécifique.

Comment rédiger un tutoriel sur la façon de connecter trois tables dans les instructions SQL Comment rédiger un tutoriel sur la façon de connecter trois tables dans les instructions SQL Apr 09, 2025 pm 02:03 PM

Cet article présente un tutoriel détaillé sur la jonction de trois tables à l'aide de instructions SQL, guidant les lecteurs pour apprendre à corréler efficacement les données dans différentes tables. Avec des exemples et des explications de syntaxe détaillées, cet article vous aidera à maîtriser les techniques de jonction des tables en SQL, afin que vous puissiez récupérer efficacement les informations associées de la base de données.

Comment récupérer les données après que SQL supprime les lignes Comment récupérer les données après que SQL supprime les lignes Apr 09, 2025 pm 12:21 PM

La récupération des lignes supprimées directement de la base de données est généralement impossible à moins qu'il n'y ait un mécanisme de sauvegarde ou de retour en arrière. Point clé: Rollback de la transaction: Exécutez Rollback avant que la transaction ne s'engage à récupérer les données. Sauvegarde: la sauvegarde régulière de la base de données peut être utilisée pour restaurer rapidement les données. Instantané de la base de données: vous pouvez créer une copie en lecture seule de la base de données et restaurer les données après la suppression des données accidentellement. Utilisez la déclaration de suppression avec prudence: vérifiez soigneusement les conditions pour éviter la suppression accidentelle de données. Utilisez la clause WHERE: Spécifiez explicitement les données à supprimer. Utilisez l'environnement de test: testez avant d'effectuer une opération de suppression.

See all articles