De trabajo a través de una zend tutorial & recibir este mensaje, & no sabe a dónde mirar.

gracias,

An error occurred
Application error
Exception information:

Message: No adapter found for Model_DbTable_Books
Stack trace:

#0 C:\xampp\php\PEAR\Zend\Db\Table\Abstract.php(739): Zend_Db_Table_Abstract->_setupDatabaseAdapter()
#1 C:\xampp\php\PEAR\Zend\Db\Table\Abstract.php(268): Zend_Db_Table_Abstract->_setup()
#2 C:\xampp\htdocs\zftutorials\zftutorial\application\controllers\BooksController.php(34): Zend_Db_Table_Abstract->__construct()
#3 C:\xampp\php\PEAR\Zend\Controller\Action.php(513): BooksController->listAction()
#4 C:\xampp\php\PEAR\Zend\Controller\Dispatcher\Standard.php(289): Zend_Controller_Action->dispatch('listAction')
#5 C:\xampp\php\PEAR\Zend\Controller\Front.php(946): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#6 C:\xampp\php\PEAR\Zend\Application\Bootstrap\Bootstrap.php(77): Zend_Controller_Front->dispatch()
#7 C:\xampp\php\PEAR\Zend\Application.php(358): Zend_Application_Bootstrap_Bootstrap->run()
#8 C:\xampp\htdocs\zftutorials\zftutorial\public\index.php(26): Zend_Application->run()
#9 {main}  

Request Parameters:

array (
  'controller' => 'books',
  'action' => 'list',
  'module' => 'default',
)  
InformationsquelleAutor roger rover | 2010-08-14

3 Comentarios

  1. 8

    Para conectarse a la base de datos de uso:

    $dbAdapter = Zend_Db::factory('Pdo_Mysql', array(
         'host'     => '127.0.0.1',
         'username' => 'webuser',
         'password' => 'xxxxxxxx',
         'dbname'   => 'test'
    ));

    Y para establecer un adaptador predeterminado:

    Zend_Db_Table::setDefaultAdapter($dbAdapter);

    Hay algunas maneras de establecer un adaptador específico a la mesa sin tener que configurar el adaptador predeterminado y etc….

    Se pueden ver más detalles en la documentación… por favor, leer 😀

    []’s

    • FYI establecer el valor predeterminado adaptador especialmente si usted está utilizando multiDb de recursos plugin para zend_application
  2. 3

    Agregar el siguiente código en el archivo de bootstrap dentro de la carpeta de la aplicación:

    protected function _initDB() {
    
           $dbConfig = new Zend_Config_Ini(APPLICATION_PATH . '/configs/db.ini');
           $dbAdapter = Zend_Db::factory($dbConfig->adapter, array(
                'host'     => $dbConfig->hostname,
                'username' => $dbConfig->username,
                'password' => $dbConfig->password,
                'dbname'   => $dbConfig->dbname
            ));
    
            My_Db_Table_Abstract::setDefaultAdapter($dbAdapter);
    
            Zend_Registry::set('db', $dbAdapter);
    
    
            if (APPLICATION_ENV == 'development') {
                $profiler = new Zend_Db_Profiler_Firebug('All DB Queries');
                $profiler->setEnabled(true);
                $dbAdapter->setProfiler($profiler);
            }
        }
    
    
          public function _initRouter()
            {
                $front = Zend_Controller_Front::getInstance();
                $router = $front->getRouter();
    
            }
    
    } 

    y el siguiente código en la aplicación.archivo ini:

    resources.db.adapter = mysqli
    resources.db.params.host = localhost
    resources.db.params.username = username of mysql(default root)
    resources.db.params.password = password of mysql(default blank means '')
    resources.db.params.dbname = test

    este es el problema de la no configuración de la base de datos de

  3. 2

    Felipe estaba en lo correcto, mientras que el tutorial requiere esta configuración de la aplicación.en el archivo ini.

    resources.db.adapter = mysqli
    resources.db.params.host = localhost
    resources.db.params.username = user
    resources.db.params.password = pw
    resources.db.params.dbname = test

Dejar respuesta

Please enter your comment!
Please enter your name here