2009-03-31 3 views
-1

Я получаю следующее сообщение об ошибке:я получил некоторые ошибки Zend сообщение при работе Zend Database

 
Fatal error: Uncaught exception 'Zend_Exception' with message 'File "Zend\Db\Adapter\Mysql.php" does not exist or class "Zend_Db_Adapter_Mysql" was not found in the file' in C:\wamp\www\VPZ\Lib\Zend\Loader.php:88 
Stack trace: 
#0 C:\wamp\www\VPZ\Lib\Zend\Db.php(247): Zend_Loader::loadClass('Zend_Db_Adapter...') 
#1 C:\wamp\www\VPZ\VPZ_Grid\core\vpz_datagrid.class.php(16): Zend_Db::factory('mysql') 
#2 C:\wamp\www\vpz_test.php(9): VPZ_DataGrid->ConnectDb(Object(VPZ_Connector)) 
#3 {main} thrown in C:\wamp\www\VPZ\Lib\Zend\Loader.php on line 88 

Я не знаю, что об этом и найти каталог в «Zend \ Db \ адаптер \ Mysql.php» нет но у меня есть Mysqli.php

+0

отформатируйте свои вопросы, чтобы пользователям не нужно было прокручивать их! – markus

ответ

3

Вы пытаетесь создать объект Zend_Db с адаптером MySQL, я думаю. по умолчанию для Zend Framework нет адаптера MySQL. вы должны использовать адаптер MySQLi или Pdo_Mysql. Проверьте свой код, где вы создаете свой объект Zend_Db. перейти в «Pdo_Mysql», как ваше имя адаптера, вместо «Mysql»:

$_db = Zend_Db::factory('Mysql', $configArray); 
// uses mysql adapter, which is not available by default. 

$_db1 = Zend_Db::factory('Mysqli', $configArray); 
// uses mysqli adapter, but needs php_mysqli extension to be installed. 

$_db1 = Zend_Db::factory('Pdo_Mysql', $configArray); 
// uses PDO mysql adapter which is much better, but needs PDO to be installed, which most of times is installed. 

Вы можете написать свой собственный адаптер для Zend_Db. написать класс и расширить Zend_Db_Adapter_Abstract. но есть некоторые проблемы для реализации Mysql-адаптера, поскольку расширение PHP_MySQL (обеспечивающее PHP функциями mysql_ *) не поддерживает многие функции (например, хранимые процедуры клиента, ...). поэтому вы не можете реализовать все методы, которые есть у других Zend_Db_Adapters. Я сделал это раньше. Я хотел использовать мое приложение, которое использовало Zend Framework, и я разместил его на сервере, где не были установлены PDO и Mysqli. Я реализовал Mysql-адаптер для Zend_Db, но поскольку я знал, какие методы не реализованы, я избегал их вызова. лучше всего, если бы вы могли установить PDO и использовать адаптеры Pdo_ *.

+0

+1 Да, ZF не предоставляет адаптер для ext/mysql, потому что у этого расширения не хватает многих функций, которые затрудняют совместимость с другими адаптерами ZF db. Вы были неуязвимы для реализации подмножества функциональных возможностей для создания собственного адаптера ext/mysql, но вы можете понять, почему это не является частью ZF. –

+0

@farzad - Разделяйте свои файлы адаптера Mysql? Спасибо Биллу за ссылку. –

Смежные вопросы