Heim > PHP-Framework > Denken Sie an PHP > Das thinkPHP5-Framework implementiert mehrere Datenbankverbindungen

Das thinkPHP5-Framework implementiert mehrere Datenbankverbindungen

藏色散人
Freigeben: 2021-06-07 09:11:51
nach vorne
2935 Leute haben es durchsucht

Die folgende thinkphp-Framework-Tutorial-Kolumne stellt Ihnen das thinkPHP5-Framework vor, um Multi-Datenbank-Verbindungen und datenübergreifende Verbindungsabfragevorgänge zu realisieren. Ich hoffe, dass es für Freunde in Not hilfreich sein wird!

Die Details sind wie folgt:

1. Verbindung mit mehreren Datenbanken

Methode 1: Wenn Sie eine Verbindung zu anderen Datenbanken herstellen müssen, verwenden Sie den Db::connect() Methode zum dynamischen Herstellen einer Verbindung mit der Datenbank. Zum Beispiel: Db::connect()方法动态连接数据库,方法参数为数据库配置的数组或字符串例如:

字符串参数:

Db::connect('mysql://root:1234@127.0.0.1:3306/thinkphp#utf8');
Nach dem Login kopieren

配置数组参数:

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

详细用法参考thinkphp5完全开发手册:https://www.kancloud.cn/manual/thinkphp5/118059

方法2:在应用配置文件里面添加多个数据库配置,例如:

'database1' => []//数据库配置数组 
'database2' => []//数据库配置数组
Nach dem Login kopieren

在需要连接时,使用Db::connect("database1")连接指定数据库,执行数据库操作时直接在连接后链式写函数,例如:

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

2. 跨数据库连接查询

方法1:利用Db::query("sql")方法执行sql语句,在sql语句中使用database.table

String-Parameter:

select * from database1.table1 as t1 inner join database2.table2 as t2 where t1,id=t2.id
Nach dem Login kopieren
Eine detaillierte Verwendung finden Sie in der vollständigen Entwicklung von thinkphp5 Handbuch: https://www.kancloud.cn/manual/thinkphp5/118059

Methode 2:

Fügen Sie mehrere Datenbankkonfigurationen in der Anwendungskonfigurationsdatei hinzu, zum Beispiel:

rrreee

Wenn Sie eine Verbindung herstellen müssen, verwenden Sie Db::connect( "database1")Stellen Sie eine Verbindung zur angegebenen Datenbank her und schreiben Sie Funktionen direkt nach der Verbindung, wenn Sie Datenbankoperationen ausführen, zum Beispiel:

rrreee🎜🎜 🎜2. Datenbankübergreifende Verbindungsabfrage🎜🎜🎜🎜🎜Methode 1:🎜Verwenden Sie die Methode Db::query("sql"), führen Sie die SQL-Anweisung aus und verwenden Sie database.table um die Datenbank und die Tabelle in der SQL-Anweisung anzugeben, zum Beispiel: 🎜🎜Verbinden, um Datenbank Datenbank1 abzufragen. Daten mit derselben ID in Tabelle Tabelle1 und Tabelle2 in Datenbank Datenbank2🎜rrreee🎜🎜Methode 2:🎜Verwenden Sie Schleifen, um jeweils verschiedene Datenbanken abzufragen 🎜🎜Fragen Sie nun die Daten in Datenbank1 ab, durchlaufen Sie die Abfrageergebnismenge und fragen Sie die Daten, die die Bedingungen in Datenbank2 erfüllen, separat ab.🎜🎜ps: Wenn die Beschreibung nicht korrekt ist, stellen Sie bitte Fragen🎜

Das obige ist der detaillierte Inhalt vonDas thinkPHP5-Framework implementiert mehrere Datenbankverbindungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:jb51.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage