Instalando o Zend Framework Usando o Zend_Db_Select para abstração de consultas

Usando o Zend_Db para conectar no MySql

0 comments
Usando o Zend_Db para conectar no MySql

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
) ENGINE = MYISAM;

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:

require_once 'Zend/Config.php';
require_once 'Zend/Db.php';

$config = new Zend_Config(
    array(
        'database' => array(
            'adapter' => 'Mysqli',          // Adaptador
            'params'  => array(
                'host'     => 'localhost',  // Host de conexão
                'dbname'   => 'zendbrasil', // Base de dados
                'username' => 'livro',      // Login
                'password' => '',           // Senha
            )
        )
    )
);

$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:

$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.

$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.

Related Posts with Thumbnails

Leave a Reply