1

I want to get query from multi databases ,I'm trying to connection two databases (database1,database2) I've define

application.ini:

resources.multidb.db1.adapter = "PDO_MYSQL"
resources.multidb.db1.params.host = 'localhost'
resources.multidb.db1.params.username = 'root'
resources.multidb.db1.params.password = ''
resources.multidb.db1.params.dbname = 'database1'
resources.multidb.db1.isDefaultTableAdapter = true
resources.multidb.db2.adapter = "PDO_MYSQL"
resources.multidb.db2.params.host = 'localhost'
resources.multidb.db2.params.username = 'root'
resources.multidb.db2.params.password = ''
resources.multidb.db2.params.dbname = 'database2'

I've added below code to Bootstrap.php:

protected function _initDbAdapter()
{           
    $resource = $this->getPluginResource('multidb');
    $resource->init();

    $db1 = $resource->getDb('db1');
    $db2 = $resource->getDb('db2');

    Zend_Registry::set('db1', $db1);
    Zend_Registry::set('db2', $db2); 
}

and in Model .. I've define File.php for get query from db2 :

<?php
class Model_file extends Zend_Db_Table_Abstract
{
    protected $_name = 'file';
    protected $_schema = 'db2';
}

and Model_Books for db1

 <?php
 class Model_Books extends Zend_Db_Table_Abstract
    {
        protected $_name = 'subscriber';
        protected $_schema = 'db1';
    }

in controller I have this:

 $fileModel = new Model_file();
 $select = $fileModel->select();
 $booksModel = new Model_Books();
 $select = $booksModel->select();

but I'm getting this error: Fatal error: Uncaught exception 'Zend_Db_Adapter_Exception' with message 'Configuration array must have a key for 'dbname' that names the database instance'
How can I fix it?

Farzan Najipour
  • 2,442
  • 7
  • 42
  • 81

0 Answers0