下面由thinkphp框架教學欄位介紹給大家thinkPHP5框架實作多資料庫連接,跨資料連接查詢操作,希望對需要的朋友有幫助!
具體如下:
1. 多資料庫連接
#方法1:在需要連接其他資料庫的地方,使用Db::connect()
方法動態連接資料庫,方法參數為資料庫配置的陣列或字串例如:
字串參數:
Db::connect('mysql://root:1234@127.0.0.1:3306/thinkphp#utf8');
配置陣列參數:
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:在應用程式設定檔裡面新增多個資料庫配置,例如:
'database1' => []//数据库配置数组 'database2' => []//数据库配置数组
在需要連線時,使用Db::connect("database1")
連線指定資料庫,執行資料庫操作時直接在連線後鍊式寫入函數,例如:
$db = Db::connect("database1"); $db->name("table")->select();
#2.跨資料庫連線查詢
# #方法1:利用Db::query("sql")方法執行sql語句,在sql語句中使用
database.table的方式指明資料庫及表,例如:
select * from database1.table1 as t1 inner join database2.table2 as t2 where t1,id=t2.id
方法2:利用迴圈分別查詢不同資料庫
現在database1中查詢數據,遍歷查詢結果集,分別查詢database2中的滿足條件的數據進行拼接ps:描述有不到位的敬請提出問題以上是thinkPHP5框架實現多資料庫連接的詳細內容。更多資訊請關注PHP中文網其他相關文章!