ホームページ > PHPフレームワーク > ThinkPHP > thinkPHP5 フレームワークは複数のデータベース接続を実装します

thinkPHP5 フレームワークは複数のデータベース接続を実装します

藏色散人
リリース: 2021-06-07 09:11:51
転載
3042 人が閲覧しました

以下は、複数データベース接続とクロスデータ接続クエリ操作を実装するための thinkPHP5 フレームワークを紹介する thinkphp フレームワーク チュートリアル コラムです。必要としている!

詳細は次のとおりです:

1. 複数のデータベース接続

方法 1:接続が必要な場合 他のデータベースの場合は、Db::connect() メソッドを使用してデータベースに動的に接続します。メソッドのパラメータは、データベース内で構成された配列または文字列です。例:

文字列パラメータ:

1

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

ログイン後にコピー

構成配列パラメータ:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

Db::connect([

  // 数据库类型

  'type'    => 'mysql',

  // 数据库连接DSN配置

  'dsn'     => '',

  // 服务器地址

  'hostname'  => '127.0.0.1',

  // 数据库名

  'database'  => 'thinkphp',

  // 数据库用户名

  'username'  => 'root',

  // 数据库密码

  'password'  => '',

  // 数据库连接端口

  'hostport'  => '',

  // 数据库连接参数

  'params'   => [],

  // 数据库编码默认采用utf8

  'charset'   => 'utf8',

  // 数据库表前缀

  'prefix'   => 'think_',

]);

ログイン後にコピー

詳細な使用法については、thinkphp5 完全開発マニュアルを参照してください: https://www.kancloud.cn/manual/ thinkphp5/118059

方法 2: アプリケーション構成ファイルに複数のデータベース構成を追加します。例:

1

2

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

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

ログイン後にコピー

接続する必要がある場合は、## を使用します。 #Db::connect("database1") 接続データベースを指定します。データベース操作を実行するときは、接続の直後に関数をチェーン内に記述します。例:

1

2

$db = Db::connect("database1");

$db->name("table")->select();

ログイン後にコピー

2. クロスデータベース接続クエリ

方法 1: Db::query("sql") メソッドを使用して SQL を実行します。ステートメントを作成し、SQL ステートメントで database.table を使用してデータベースとテーブルを指定します。例:

Connect データベースの table1 とテーブル 2 の同じ ID を持つデータをクエリします。データベース データベース 2

1

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

ログイン後にコピー

方法 2: ループを使用して、それぞれ異なるデータベースをクエリします

次に、データベース 1 のデータをクエリし、クエリ結果セットを走査し、そのデータを個別にクエリします。データベース 2 のスプライシング条件を満たしています。

ps: 説明が適切でない場合は、質問してください

以上がthinkPHP5 フレームワークは複数のデータベース接続を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート