Подключение к базе данных с помощью Zendframework - PullRequest
0 голосов
/ 02 марта 2012

Я пытаюсь создать свою собственную функцию для добавления данных в мою базу данных с помощью Zend Framework.Но у меня проблема с подключением к базе данных.

PS: я не использую функцию по умолчанию в классе Zend_Db_Table_Abstract, я создаю свою собственную функцию для доступа к моей базе данных.Я просто хочу использовать Zend_Db для подключения.

вот моя конфигурация:

APPLICATION.INI:

database.adapter = PDO_MYSQL
database.params.host = localhost
database.params.username = root
database.params.password = ''
database.params.dbname = user

INDEX.PHP:

// Chargement automatique de Zend_Db_Adapter_Pdo_Mysql, et instanciation.

$config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/application.ini', 'production');

$db = Zend_Db::factory($config->database->adapter,array(
  'host'      => $config->database->params->host, 
  'username'  => $config->database->params->username,
  'password'  => $config->database->params->password,
  'dbname'    => $config->database->params->dbname,
    )
);

// placons la connexion dans un registre global à l'application
$registry = Zend_Registry::getInstance();
$registry->set('db', $db);

// en faire la connexion par defaut
Zend_Db_Table::setDefaultAdapter($db);
Zend_Registry::set('dbAdapter', $db);

И моя функция:

 public function SaveClient() {

   $sqlInsert = "INSERT INTO user VALUES ('".$this->getid()."','".$this->getprenom()."','".$this->getnom()."','".$this->getnele()."','".   $this->getville()."')";
     }

И, наконец, Действие:

 public function indexAction()
    {
       $user=new UserClass();
       $user->setid(2);
       $user->setnele(fevrier);
       $user->setnom(mhamdi);
       $user->setprenom(marwa);
       $user->setville(bizerte);

       $result=$user->SaveClient();

       $this->view->add_result =var_dump($result) ;
    }

Ответы [ 2 ]

2 голосов
/ 03 марта 2012

Вы можете использовать функцию query():

public function SaveClient() {

   $sqlInsert = "INSERT INTO user VALUES ('".$this->getid()."','".$this->getprenom()."','".$this->getnom()."','".$this->getnele()."','".   $this->getville()."')";
   $dbAdapter->query($sqlInsert);          
}

где $dbAdapter - это ваш экземпляр Zend_Db_Adapter_Abstract (это ваш адаптер $ config-> database->) ... но эта функция (как вы можете видеть) ничего не вернет.

Но, как сказал drew010, было бы лучше использовать шаблон tabe data gateway ..

0 голосов
/ 10 октября 2012

Если вы используете собственный первичный ключ, SQL-запрос может выглядеть следующим образом:

public function SaveClient() {

   $sqlInsert = "INSERT INTO user VALUES (null,'".$this->getprenom()."','".$this->getnom()."','".$this->getnele()."','".   $this->getville()."')";
   $dbAdapter->query($sqlInsert);          
}
...