Maison  >  Article  >  cadre php  >  Comment connecter thinkphp à la base de données

Comment connecter thinkphp à la base de données

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼original
2019-08-26 14:20:454129parcourir

Comment connecter thinkphp à la base de données

Les exemples de cet article résument plusieurs méthodes courantes permettant à ThinkPHP de se connecter à la base de données. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :

ThinkPHP dispose d'une couche d'accès à la base de données abstraite intégrée, qui encapsule différentes opérations de base de données. Nous avons uniquement besoin d'utiliser la classe publique Db pour fonctionner sans écrire différents codes et implémentations sous-jacentes pour différentes bases de données. . La classe Db appellera automatiquement l'adaptateur de base de données correspondant pour le traitement. Les bases de données actuelles incluent la prise en charge de Mysql, MsSQL, PgSQL, Sqlite, Oracle, Ibase et PDO. Si l'application doit utiliser une base de données, les informations de connexion à la base de données doivent être configurées. . Combien y a-t-il de fichiers de configuration de base de données ? Deux méthodes de définition :

La première consiste à définir

dans le fichier de configuration du projet. 🎜>

return array(  
 'DB_TYPE'=> 'mysql',   
 'DB_HOST'=> 'localhost',  
 'DB_NAME'=>'thinkphp',   
 'DB_USER'=>'root',   
 'DB_PWD'=>'',   
 'DB_PORT'=>'3306',  
 'DB_PREFIX'=>'think_',  
 // 其他项目配置参数………  
 );

Le système recommande cette méthode car Généralement, la configuration d'accès à la base de données d'un projet est la même. Dans cette méthode, le système l'obtiendra automatiquement lors de la connexion à la base de données, sans connexion manuelle.

Vous pouvez définir différentes informations de connexion à la base de données pour chaque projet, et vous pouvez également définir les informations de configuration de la base de données de débogage dans le fichier de configuration de débogage (Conf/debug.php s'il se trouve dans le fichier de configuration du projet et de débogage). fichier de configuration du mode En même temps, les informations de connexion à la base de données sont définies, donc ces dernières prennent effet en mode débogage et les premières prennent effet en mode déploiement.

Recommandations associées : "

Tutoriel ThinkPHP"

Deuxièmement, utilisez la méthode DSN pour transmettre des paramètres lors de l'initialisation de la classe Db

Le code est le suivant :

$db_dsn = "mysql://username:passwd@localhost:3306/DbName";  
 $db = new Db($db_dsn);

Cette méthode est principalement utilisée pour se connecter manuellement à la base de données dans le contrôleur, ou pour créer plusieurs connexions à la base de données.

La troisième méthode consiste à utiliser un tableau pour passer des paramètres

Le code est le suivant :

$DSN = array(   
 'dbms'     => 'mysql',    
 'username' => 'username',    
 'password' => 'password',    
 'hostname' => 'localhost',    
 'hostport' => '3306',    
 'database' => 'dbname'   
 );  
 $db = new Db($DSN);

Cette méthode est également utilisée pour se connecter à la base de données manuellement, ou pour Créer plusieurs connexions à la base de données.

La quatrième méthode consiste à définir

dans la classe modèle Le code est le suivant :

protected $connection = array(   
 'dbms'     => 'mysql',    
 'username' => 'username',    
 'password' => 'password',    
 'hostname' => 'localhost',    
 'hostport' => '3306',    
 'database' => 'dbname'   
 );  
 // 或者使用下面的定义  
protected $connection = "mysql://username:passwd@localhost:3306/DbName";

Si l'attribut de connexion est défini dans un. classe de modèle, puis lors de l'instanciation d'un objet modèle, les informations de connexion à la base de données seront utilisées pour se connecter à la base de données, qui est généralement utilisée pour certaines tables de données situées dans d'autres bases de données en dehors de la connexion actuelle à la base de données.

ThinkPHP ne se connecte pas à la base de données au début, mais uniquement lorsqu'il y a une opération de requête de données. De plus, lorsque le système exploite le modèle pour la première fois, le framework se connecte automatiquement à la base de données pour. obtenez les informations sur le champ de données de la classe de modèle concernée et mettez-les en cache.

(Répertoire de cache de champ : Runtime/Data/_fields)

ThinkPHP prend en charge le mode PDO Si vous souhaitez utiliser le mode PDO pour vous connecter à la base de données, vous pouvez vous référer aux paramètres ci-dessous.

Prenons la définition du fichier de configuration du projet comme exemple pour illustrer :

Le code est le suivant :

return array(  
 'DB_TYPE'=> 'pdo',   
 // 注意DSN的配置针对不同的数据库有所区别 请参考PHP手册PDO类库部分  
 'DB_DSN'=> 'mysql:host=localhost;dbname=think',  
 'DB_USER'=>'root',   
 'DB_PWD'=>'',   
 'DB_PREFIX'=>'think_',  
 // 其他项目配置参数………  
 );

Lorsque vous utilisez la méthode PDO, faites attention à vérifier si le Le module PDO correspondant, DB_DSN, est activé. Les paramètres ne sont valables que pour la connexion PDO.

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