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

不言
Libérer: 2023-03-30 15:42:01
original
7638 Les gens l'ont consulté

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!

É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