O Zend_Db é suas classes relacionadas fornecem uma interface simples para conexão com banco de dados.
/* A classe Zend_Db sozinha não conecta com o banco, ela apenas faz uma ponte mais fácil para criar estas conexões. Você precisará que a biblioteca de conexão com o banco que escolher esteja habilitado. */
Vou demonstrar aqui a conexão com banco de dados MySql, e para isso é necessário que a biblioteca MySqli
esteja habilitada.
Primeiro vamos criar a tabela na nossa base de dados:
Banco de dados zendbrasil:
CREATE TABLE `teste` ( `USUARIO_ID` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `USUARIO_NOME` VARCHAR( 120 ) NOT NULL );
E vamos inserir alguns dados:
INSERT INTO `teste` ( `USUARIO_ID` , `USUARIO_NOME` ) VALUES ( NULL , 'Usuario 1' ), ( NULL , 'Usuario 2' ), ( NULL , 'Usuario 3' ), ( NULL , 'Usuario 4' );
Agora que temos a tabela e temos 4 valores, vamos conectar mais primeiro vamos configurar a conexão:
<?php require_once 'Zend/Config.php'; require_once 'Zend/Db.php'; $params ['host'] = 'localhost'; $params ['dbname'] = 'zendbrasil'; $params ['username'] = 'root'; $params ['password'] = ''; $database ['adapter'] = 'Mysqli'; $database ['params'] = $params; $data ['database'] = $database; $config = new Zend_Config ( $data ); $db = Zend_Db::factory($config->database);
Para conexão há diversas opções, veja bem se a estensão esta ativada antes de esolhe-la. Para mais detalhes veja quais estão disponíveis na Zend/Db/.
Agora que temos a conexão esta configurada vamos a uma pequena conexão usando o método fetchAll:
<?php $sql = "SELECT * FROM `teste` "; $result = $db->fetchAll($sql); echo '<pre>'; print_r($result);
A resposta é um array iniciada de zero contendo todos os itens de cada linha da tabela.
A resposta apresentada pelo print_r é apresentada abaixo:
Array ( [0] => Array ( [USUARIO_ID] => 1 [USUARIO_NOME] => Usuario 1 ) [1] => Array ( [USUARIO_ID] => 2 [USUARIO_NOME] => Usuario 2 ) [2] => Array ( [USUARIO_ID] => 3 [USUARIO_NOME] => Usuario 3 ) [3] => Array ( [USUARIO_ID] => 4 [USUARIO_NOME] => Usuario 4 ) )
Já usando o método fetchAssoc temos um array ao qual o índice é formado pela chave primária da tabela.
<?php $sql = "SELECT * FROM `teste` ORDER BY `USUARIO_ID` DESC "; $result = $db->fetchAssoc($sql); echo '<pre>'; print_r($result);
Veja a resposta:
Array ( [4] => Array ( [USUARIO_ID] => 4 [USUARIO_NOME] => Usuario 4 ) [3] => Array ( [USUARIO_ID] => 3 [USUARIO_NOME] => Usuario 3 ) [2] => Array ( [USUARIO_ID] => 2 [USUARIO_NOME] => Usuario 2 ) [1] => Array ( [USUARIO_ID] => 1 [USUARIO_NOME] => Usuario 1 ) )
Em próximos post irei comentar sobre inserir e outros.