簡體   English   中英

ZF2:如何動態連接到數據庫(沒有global.php)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM