Maison  >  Article  >  cadre php  >  Le framework thinkPHP5 implémente plusieurs connexions à des bases de données

Le framework thinkPHP5 implémente plusieurs connexions à des bases de données

藏色散人
藏色散人avant
2021-05-31 09:59:572881parcourir

La section suivante de la colonne du didacticiel du framework thinkphp vous présentera le framework thinkPHP5 pour implémenter des connexions multi-bases de données et des opérations de requête de connexion de données croisées, j'espère que ce sera le cas. utile aux amis dans le besoin !

Les détails sont les suivants :

1. Connexions à plusieurs bases de données

Méthode 1 : Connectez-vous si nécessaire Pour les autres bases de données, utilisez la méthode Db::connect() pour vous connecter dynamiquement à la base de données. Les paramètres de la méthode sont des tableaux ou des chaînes configurés par la base de données. Par exemple :

Paramètres de chaîne :

Db::connect('mysql://root:1234@127.0.0.1:3306/thinkphp#utf8');
Paramètres du tableau de configuration :

Db::connect([
  // 数据库类型
  'type'    => 'mysql',
  // 数据库连接DSN配置
  'dsn'     => '',
  // 服务器地址
  'hostname'  => '127.0.0.1',
  // 数据库名
  'database'  => 'thinkphp',
  // 数据库用户名
  'username'  => 'root',
  // 数据库密码
  'password'  => '',
  // 数据库连接端口
  'hostport'  => '',
  // 数据库连接参数
  'params'   => [],
  // 数据库编码默认采用utf8
  'charset'   => 'utf8',
  // 数据库表前缀
  'prefix'   => 'think_',
]);

Pour une utilisation détaillée, veuillez vous référer au manuel de développement complet de thinkphp5 :

https://www.kancloud.cn/manual/thinkphp5/118059

Méthode 2 : dans l'application Ajoutez plusieurs configurations de base de données au fichier de configuration, par exemple :

'database1' => []//数据库配置数组 
'database2' => []//数据库配置数组

Lorsqu'une connexion est requise, utilisez

pour vous connecter à la base de données spécifiée lors de l'exécution. opérations de base de données, écrivez des fonctions directement dans la chaîne après la connexion, par exemple : Db::connect("database1")

$db = Db::connect("database1");
$db->name("table")->select();

2 Requête de connexion entre bases de données

Méthode 1 :

Utilisez la méthode pour exécuter l'instruction sql et utilisez-la dans l'instruction sql. Spécifiez la base de données et la table de la manière , par exemple : Db::query("sql")database.tableConnectez-vous et interrogez le données avec le même identifiant dans la table1 dans la base de données base de données1 et la table2 dans la base de données base de données2

select * from database1.table1 as t1 inner join database2.table2 as t2 where t1,id=t2.id

Méthode 2 :

Utilisez des boucles pour interroger différentes bases de données séparémentInterrogez maintenant les données dans la base de données1 , parcourez l'ensemble de résultats de la requête et interrogez séparément les données qui répondent aux conditions de la base de données2 pour l'épissage

ps : la description n'est pas en place

.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer