[英]ZF2 : How to dynamically connect to database (without global.php)
我的ZF2應用程序必須連接到不同的MSSQL數據庫(大約3000個!),所以我無法准備所有連接。 (我當然不連接到所有數據庫,這取決於用戶查詢)。
如何在控制器內執行此操作? (只有數據庫名稱更改,服務器和用戶始終相同)
謝謝
我不建議這樣做,但是您可以在jours控制器中使用pdo / mysqli / ..對象連接其他數據庫。
$ dbh = new \\ PDO('mysql:host = localhost; dbname = test',$ user,$ pass);
//否則,您可以創建多個服務來訪問數據庫。
嘗試:
use Zend\Db\Adapter\Adapter;
//...
$driver = array(
'driver' => 'Pdo',
'dsn' => 'mysql:dbname=yourdatabasename;host=yourdatabasehost',
'username' => 'username',
'password' => 'password',
);
$adapter = new Adapter($driver);
//insert into database
$adapter->query("insert into foo(bar) values('foo value')",Adapter::QUERY_MODE_EXECUTE);
//select from database
$result = $adapter->query('select * from foo',Adapter::QUERY_MODE_EXECUTE);
foreach ($result as $item)
print_r((array)$item);
您可以將此$adapter
傳遞給TableGateway
並准備一個表Model(例如YourModule \\ Model \\ FooTable)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.