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.table
Connectez-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.idMé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!