我的ZF2应用程序必须连接到不同的MSSQL数据库(大约3000!) 所以我不能准备所有的连接。 (我当然不会连接到所有数据库,这取决于用户查询)。
我怎么能在控制器内做到这一点? (只有DB名称更改,服务器和用户始终相同)
THX
答案 0 :(得分:0)
我不推荐那些,但您可以使用jours控制器中的pdo / mysqli / ..对象连接其他数据库。
$ dbh = new \ PDO('mysql:host = localhost; dbname = test',$ user,$ pass);
//否则,您可以创建多种服务来访问您的数据库。
答案 1 :(得分:0)
尝试:
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
并准备一个表格模型(例如YourModule \ Model \ FooTable)。