как подключиться к базе данных mysql в Zend framework с помощью класса connection



Я новичок в Zend framework.Я попробовал подключение базы данных на каждой конкретной странице в действии метода контроллера его работы нормально.

Я использую WAMP server, но теперь я хочу изучить класс подключения к базе данных на одной странице.и используя это на разных разных методах действия. Я хочу, чтобы соединение было сделано на индексной странице и использовалось на всех страницах проекта.



Это мой метод действия в контроллере:



 public function userAction()
{

$db = Zend_Db_Table::getDefaultAdapter();
$data = array(
'first_name' => 'xyz',
'last_name' => 'xyz',
'user_name' => 'xyz',
'password' => 'xyz'
);
$rows_affected = $db->insert('user', $data);
$last_insert_id = $db->lastInsertId();

}


И применение.ниже находится ini-файл, в который я добавляю только базу данных настройка адаптера в этом файле



    [production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0
resources.db.adapter = "PDO_MYSQL"//adapter
resources.db.params.host ="localhost" //server name here or host
resources.db.params.username = "root"///username here
resources.db.params.password = "" //database password
resources.db.params.dbname = "zend"//database name
resources.db.isDefaultTableAdapter = true

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1
674   2  

2 ответов:

В вашем основном приложении bootstrap сделайте это.

protected function _initMysql() {
    $this->bootstrap('db');
        switch (APPLICATION_ENV) {

            case 'development' :
                // this allows you to profile your queries through the firebug console 
                $profiler = new Zend_Db_Profiler_Firebug('System Queries');
                $profiler->setEnabled(true);
                $this->getPluginResource('db')->getDbAdapter()->setProfiler($profiler);
                break;

            case 'production' :
                // if you use meta caching in production, which you should :)
                // Zend_Db_Table_Abstract::setDefaultMetadataCache($this->_cache);
                break;
        }

}

Применение.ini

resources.db.adapter = "Pdo_Mysql"
resources.db.params.host = "localhost"
resources.db.params.username = "*****"
resources.db.params.password = "*****"
resources.db.params.dbname = "******"
resources.db.driver_options.charset = "utf-8"
resources.db.isDefaultTableAdapter = true

И, конечно, убедитесь, что вы передаете правильный APPLICATION_ENV в index.php как то определяет какое приложение.блок ini приложение будет использовать для своей конфигурации.

Вы должны отредактировать приложение.что-то вроде этого.

Добавьте этот код.

resources.db.adapter = //adapter
resources.db.params.host = //server name here or host
resources.db.params.username = ///username here
resources.db.params.password =  //database password
resources.db.params.dbname = //database name

Comments

    Ничего не найдено.