国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Table des matières
1. établissez une connexion à la base de données
2. Exécutez l'instruction SQL
3. Obtenir les résultats de la requête
4. Utiliser des transactions
5. 綁定參數(shù)
6. 綁定列
7. 使用表前綴
Maison développement back-end tutoriel php Yii Framework Official Guide Series 23 - Utilisation de bases de données?:?objets d'accès aux données (DAO)

Yii Framework Official Guide Series 23 - Utilisation de bases de données?:?objets d'accès aux données (DAO)

Feb 13, 2017 am 09:22 AM



Data Access Object (DAO) fournit une API commune pour accéder aux données stockées dans différents systèmes de gestion de bases de données (SGBD). Par conséquent, lors du remplacement du SGBD sous-jacent par un autre, il n'est pas nécessaire de modifier le code qui utilise DAO pour accéder aux données. Yii DAO est construit sur PHP Data Objects (PDO). Il s'agit d'une extension qui fournit un accès unifié aux données pour de nombreux SGBD populaires, notamment MySQL, PostgreSQL, etc. Par conséquent, pour utiliser Yii DAO, l'extension PDO et le pilote de base de données PDO spécifique (tel que PDO_MYSQL) doivent être installés. Yii DAO comprend principalement les quatre catégories suivantes :

  • CDbConnection : représente une connexion à une base de données.

  • CDbCommand?: Représente une instruction SQL exécutée via la base de données.

  • CDbDataReader?: représente un flux de lignes en avant uniquement à partir d'un ensemble de résultats de requête.

  • CDbTransaction?: Représente une transaction de base de données.

Ci-dessous, nous présentons l'application de Yii DAO dans différents scénarios.

1. établissez une connexion à la base de données

Pour établir une connexion à la base de données, créez une instance CDbConnection et activez-la . La connexion à une base de données nécessite un nom de source de données (DSN) pour spécifier les informations de connexion. Le nom d'utilisateur et le mot de passe peuvent également être utilisés. Lorsqu'une erreur se produit lors de la connexion à la base de données (par exemple, un DSN incorrect ou un nom d'utilisateur/mot de passe invalide), une exception sera levée.


$connection=new?CDbConnection($dsn,$username,$password);
//?建立連接。你可以使用??try...catch?捕獲可能拋出的異常
$connection->active=true;
......
$connection->active=false;??//?關(guān)閉連接

Le format du DSN dépend du pilote de base de données PDO utilisé. En général, le DSN contient le nom du pilote PDO, suivi de deux points, suivi de la syntaxe de connexion spécifique au pilote. Consultez la documentation PDO pour plus d'informations. Vous trouverez ci-dessous une liste des formats DSN couramment utilisés.

  • SQLite?: sqlite:/path/to/dbfile

  • MySQL?: mysql:host=localhost;dbname=testdb

  • PostgreSQL?: pgsql:host=localhost;port=5432;dbname=testdb

  • SQL Server?: mssql:host=localhost;dbname=testdb

  • Oracle?: oci:dbname=//localhost:1521/testdb

En raison de CDbConnection Hérité de CApplicationComponent, nous pouvons également l'utiliser comme composant applicatif. Pour ce faire, configurez un composant d'application db (ou autre nom) dans la configuration de l'application comme suit?:


array(
????......
????'components'=>array(
????????......
????????'db'=>array(
????????????'class'=>'CDbConnection',
????????????'connectionString'=>'mysql:host=localhost;dbname=testdb',
????????????'username'=>'root',
????????????'password'=>'password',
????????????'emulatePrepare'=>true,??//?needed?by?some?MySQL?installations
????????),
????),
)

Ensuite, nous pouvons accéder à la connexion à la base de données via Yii::app()->db. Il est automatiquement activé sauf si nous configurons spécifiquement CDbConnection::autoConnect sur false. De cette fa?on, cette connexion unique à la base de données peut être partagée à de nombreux endroits de notre code.

2. Exécutez l'instruction SQL

Une fois la connexion à la base de données établie, l'instruction SQL peut être exécutée à l'aide de CDbCommand. Vous pouvez créer une instance CDbCommand en appelant CDbConnection::createCommand() avec l'instruction SQL spécifiée comme argument.


$connection=Yii::app()->db;???//?假設(shè)你已經(jīng)建立了一個?"db"?連接
//?如果沒有,你可能需要顯式建立一個連接:
//?$connection=new?CDbConnection($dsn,$username,$password);
$command=$connection->createCommand($sql);
//?如果需要,此?SQL?語句可通過如下方式修改:
//?$command->text=$newSQL;

Une instruction SQL sera exécutée via CDbCommand des deux manières suivantes?:

  • execute()?: exécute une instruction SQL sans requête, telle que INSERT, UPDATE et DELETE. En cas de succès, il renvoie le nombre de lignes affectées par cette exécution.

  • query()?: exécute une instruction SQL qui renvoie plusieurs lignes de données, telles que SELECT. En cas de succès, il renvoie une instance CDbDataReader à travers laquelle les lignes de données résultantes peuvent être itérées. Pour plus de simplicité, (Yii) implémente également une série de méthodes queryXXX() pour renvoyer directement les résultats de la requête.

Si une erreur se produit lors de l'exécution de l'instruction SQL, une exception sera levée.


$rowCount=$command->execute();???//?執(zhí)行無查詢?SQL
$dataReader=$command->query();???//?執(zhí)行一個?SQL?查詢
$rows=$command->queryAll();??????//?查詢并返回結(jié)果中的所有行
$row=$command->queryRow();???????//?查詢并返回結(jié)果中的第一行
$column=$command->queryColumn();?//?查詢并返回結(jié)果中的第一列
$value=$command->queryScalar();??//?查詢并返回結(jié)果中第一行的第一個字段

3. Obtenir les résultats de la requête

générer CDbDataReader dans CDbCommand::query() Après l'instanciation, vous pouvez obtenir les lignes du résultat en appelant à plusieurs reprises CDbDataReader::read(). Vous pouvez également utiliser CDbDataReader dans la structure du langage foreach de PHP pour récupérer des données ligne par ligne.


$dataReader=$command->query();
//?重復(fù)調(diào)用?read()?直到它返回?false
while(($row=$dataReader->read())!==false)?{?...?}
//?使用?foreach?遍歷數(shù)據(jù)中的每一行
foreach($dataReader?as?$row)?{?...?}
//?一次性提取所有行到一個數(shù)組
$rows=$dataReader->readAll();

Remarque?: est différent de query(), tous queryXXX() La méthode renverra directement les données. Par exemple, queryRow() renvoie un tableau représentant la première ligne des résultats de la requête.

4. Utiliser des transactions

Lorsqu'une application doit exécuter plusieurs requêtes et que chaque requête doit lire et/ou écrire des informations dans la base de données, assurez-vous que la base de données est très Il est important qu'il ne reste plus quelques requêtes et que seules quelques autres soient exécutées. Les transactions, représentées par des instances CDbTransaction dans Yii, peuvent être démarrées dans les situations suivantes?:

  • Démarrer la transaction.

  • Exécuter les requêtes une par une. Les mises à jour de la base de données ne sont pas visibles du monde extérieur.

  • 提交事務(wù)。如果事務(wù)成功,更新變?yōu)榭梢姟?/p>

  • 如果查詢中的一個失敗,整個事務(wù)回滾。

上述工作流可以通過如下代碼實現(xiàn):


$transaction=$connection->beginTransaction();
try
{
????$connection->createCommand($sql1)->execute();
????$connection->createCommand($sql2)->execute();
????//....?other?SQL?executions
????$transaction->commit();
}
catch(Exception?$e)?//?如果有一條查詢失敗,則會拋出異常
{
????$transaction->rollBack();
}

5. 綁定參數(shù)

要避免?SQL 注入攻擊?并提高重復(fù)執(zhí)行的 SQL 語句的效率, 你可以 "準(zhǔn)備(prepare)"一條含有可選參數(shù)占位符的 SQL 語句,在參數(shù)綁定時,這些占位符將被替換為實際的參數(shù)。 參數(shù)占位符可以是命名的 (表現(xiàn)為一個唯一的標(biāo)記) 或未命名的 (表現(xiàn)為一個問號)。調(diào)用?CDbCommand::bindParam()或?CDbCommand::bindValue()?以使用實際參數(shù)替換這些占位符。 這些參數(shù)不需要使用引號引起來:底層的數(shù)據(jù)庫驅(qū)動會為你搞定這個。 參數(shù)綁定必須在 SQL 語句執(zhí)行之前完成。


//?一條帶有兩個占位符?":username"?和?":email"的?SQL
$sql="INSERT?INTO?tbl_user?(username,?email)?VALUES(:username,:email)";
$command=$connection->createCommand($sql);
//?用實際的用戶名替換占位符?":username"?
$command->bindParam(":username",$username,PDO::PARAM_STR);
//?用實際的?Email?替換占位符?":email"?
$command->bindParam(":email",$email,PDO::PARAM_STR);
$command->execute();
//?使用新的參數(shù)集插入另一行
$command->bindParam(":username",$username2,PDO::PARAM_STR);
$command->bindParam(":email",$email2,PDO::PARAM_STR);
$command->execute();

方法?bindParam()?和?bindValue()?非常相似。唯一的區(qū)別就是前者使用一個 PHP 變量綁定參數(shù), 而后者使用一個值。對于那些內(nèi)存中的大數(shù)據(jù)塊參數(shù),處于性能的考慮,應(yīng)優(yōu)先使用前者。 關(guān)于綁定參數(shù)的更多信息,請參考?相關(guān)的PHP文檔。

6. 綁定列

當(dāng)獲取查詢結(jié)果時,你也可以使用 PHP 變量綁定列。 這樣在每次獲取查詢結(jié)果中的一行時就會自動使用最新的值填充。


$sql="SELECT?username,?email?FROM?tbl_user";
$dataReader=$connection->createCommand($sql)->query();
//?使用?$username?變量綁定第一列?(username)?
$dataReader->bindColumn(1,$username);
//?使用?$email?變量綁定第二列?(email)?
$dataReader->bindColumn(2,$email);
while($dataReader->read()!==false)
{
????//?$username?和?$email?含有當(dāng)前行中的?username?和?email?
}

7. 使用表前綴

從版本 1.1.0 起, Yii 提供了集成了對使用表前綴的支持。 表前綴是指在當(dāng)前連接的數(shù)據(jù)庫中的數(shù)據(jù)表的名字前面添加的一個字符串。 它常用于共享的服務(wù)器環(huán)境,這種環(huán)境中多個應(yīng)用可能會共享同一個數(shù)據(jù)庫,要使用不同的表前綴以相互區(qū)分。 例如,一個應(yīng)用可以使用?tbl_?作為表前綴而另一個可以使用?yii_。 要使用表前綴,配置?CDbConnection::tablePrefix?屬性為所希望的表前綴。 然后,在 SQL 語句中使用{{TableName}}?代表表的名字,其中的?TableName?是指不帶前綴的表名。 例如,如果數(shù)據(jù)庫含有一個名為tbl_user?的表,而?tbl_?被配置為表前綴,那我們就可以使用如下代碼執(zhí)行用戶相關(guān)的查詢:

$sql='SELECT * FROM {{user}}';
$users=$connection->createCommand($sql)->queryAll();


以上就是Yii框架官方指南系列23——使用數(shù)據(jù)庫:數(shù)據(jù)訪問對象(DAO)的內(nèi)容,更多相關(guān)內(nèi)容請關(guān)注PHP中文網(wǎng)(www.miracleart.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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

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.

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 grace à 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)

Sujets chauds

Tutoriel PHP
1502
276
Middleware du framework Yii?: prise en charge de plusieurs stockages de données pour les applications Middleware du framework Yii?: prise en charge de plusieurs stockages de données pour les applications Jul 28, 2023 pm 12:43 PM

Middleware du framework Yii?: fournir une prise en charge de plusieurs stockages de données pour les applications Introduction Le middleware (middleware) est un concept important dans le framework Yii, qui fournit une prise en charge de plusieurs stockages de données pour les applications. Le middleware agit comme un filtre, insérant du code personnalisé entre les requêtes et les réponses d'une application. Grace au middleware, nous pouvons traiter, vérifier, filtrer les demandes, puis transmettre les résultats traités au middleware suivant ou au gestionnaire final. Le middleware du framework Yii est très simple à utiliser

Yii Framework Middleware?: ajoutez des fonctionnalités de journalisation et de débogage à votre application Yii Framework Middleware?: ajoutez des fonctionnalités de journalisation et de débogage à votre application Jul 28, 2023 pm 08:49 PM

Middleware du framework Yii?: ajouter des fonctionnalités de journalisation et de débogage aux applications [Introduction] Lors du développement d'applications Web, nous devons généralement ajouter des fonctionnalités supplémentaires pour améliorer les performances et la stabilité de l'application. Le framework Yii fournit le concept de middleware qui nous permet d'effectuer certaines taches supplémentaires avant et après que l'application traite la requête. Cet article explique comment utiliser la fonction middleware du framework Yii pour implémenter les fonctions de journalisation et de débogage. [Qu'est-ce qu'un middleware] Le middleware fait référence au traitement des demandes et des réponses avant et après que l'application traite la demande.

Comment utiliser le framework Yii en PHP Comment utiliser le framework Yii en PHP Jun 27, 2023 pm 07:00 PM

Avec le développement rapide des applications Web, le développement Web moderne est devenu une compétence importante. De nombreux frameworks et outils sont disponibles pour développer des applications web efficaces, parmi lesquels le framework Yii est très populaire. Yii est un framework PHP hautes performances basé sur des composants qui utilise les derniers modèles de conception et technologies, fournit des outils et des composants puissants et est idéal pour créer des applications Web complexes. Dans cet article, nous verrons comment utiliser le framework Yii pour créer des applications Web. Installez d'abord le framework Yii,

étapes pour mettre en ?uvre la mise en cache des pages Web et la segmentation des pages à l'aide du framework Yii étapes pour mettre en ?uvre la mise en cache des pages Web et la segmentation des pages à l'aide du framework Yii Jul 30, 2023 am 09:22 AM

étapes pour mettre en ?uvre la mise en cache et la segmentation de pages Web à l'aide du framework Yii Introduction?: Au cours du processus de développement Web, afin d'améliorer les performances et l'expérience utilisateur du site Web, il est souvent nécessaire de mettre en cache et de fragmenter la page. Le framework Yii fournit de puissantes fonctions de mise en cache et de mise en page, qui peuvent aider les développeurs à mettre en ?uvre rapidement la mise en cache et la segmentation de pages Web. Cet article explique comment utiliser le framework Yii pour implémenter la mise en cache et la segmentation de pages Web. 1. Activez la mise en cache des pages Web Dans le framework Yii, la mise en cache des pages Web peut être activée via le fichier de configuration. Ouvrez le fichier de configuration principal co

Comment utiliser des contr?leurs pour gérer les requêtes Ajax dans le framework Yii Comment utiliser des contr?leurs pour gérer les requêtes Ajax dans le framework Yii Jul 28, 2023 pm 07:37 PM

Dans le framework Yii, les contr?leurs jouent un r?le important dans le traitement des requêtes. En plus de gérer les requêtes de pages régulières, les contr?leurs peuvent également être utilisés pour gérer les requêtes Ajax. Cet article expliquera comment gérer les requêtes Ajax dans le framework Yii et fournira des exemples de code. Dans le framework Yii, le traitement des requêtes Ajax peut s'effectuer à travers les étapes suivantes : La première étape consiste à créer une classe contr?leur (Controller). Vous pouvez hériter de la classe de contr?leur de base yiiwebCo fournie par le framework Yii

Outils de débogage dans le framework Yii?: applications de profilage et de débogage Outils de débogage dans le framework Yii?: applications de profilage et de débogage Jun 21, 2023 pm 06:18 PM

Dans le développement d’applications Web modernes, les outils de débogage sont indispensables. Ils aident les développeurs à trouver et à résoudre divers problèmes liés à leurs applications. En tant que framework d'application Web populaire, le framework Yii fournit naturellement des outils de débogage. Cet article se concentrera sur les outils de débogage du framework Yii et expliquera comment ils nous aident à analyser et déboguer les applications. GiiGii est un générateur de code pour le framework Yii. Il peut générer automatiquement du code pour les applications Yii, telles que des modèles, des contr?leurs, des vues, etc. En utilisant Gii,

Crypter et décrypter les données sensibles à l'aide du middleware du framework Yii Crypter et décrypter les données sensibles à l'aide du middleware du framework Yii Jul 28, 2023 pm 07:12 PM

Cryptage et déchiffrement des données sensibles à l'aide du middleware du framework Yii Introduction : Dans les applications Internet modernes, la confidentialité et la sécurité des données sont des problèmes très importants. Pour garantir que les données sensibles des utilisateurs ne soient pas accessibles à des visiteurs non autorisés, nous devons chiffrer ces données. Le framework Yii nous offre un moyen simple et efficace de mettre en ?uvre les fonctions de cryptage et de décryptage des données sensibles. Dans cet article, nous expliquerons comment y parvenir en utilisant le middleware du framework Yii. Introduction au framework Yii Le framework Yii est un framework PHP hautes performances.

Yii Interview Questions: Ace Your PHP Framework Interview Yii Interview Questions: Ace Your PHP Framework Interview Apr 06, 2025 am 12:20 AM

Lorsque vous vous préparez à une entrevue avec YII Framework, vous devez conna?tre les principaux points de connaissances suivants: 1. Architecture MVC: Comprendre le travail collaboratif des modèles, des vues et des contr?leurs. 2. ActiveRecord: ma?triser l'utilisation des outils ORM et simplifier les opérations de base de données. 3. Widgets et aides: familier avec les composants et les fonctions d'assistance intégrés, et créez rapidement l'interface utilisateur. La ma?trise de ces concepts de base et des meilleures pratiques vous aidera à vous démarquer dans l'entretien.

See all articles