Ir para conteúdo
Fórum Script Brasil
  • 0

Classe PDO sem repetição


nsouza

Pergunta

Colegas,

como fazer para não ter que ficar digitando várias vezes a estancia da biblioteca PDO.

Senão toda vez que for usar um SQL tenho que ficar digitando?

<?php
try
{
    // Instancia o objeto PDO
    [b]$pdo = new PDO( 'mysql:host=localhost;dbname=exemplo_select', 'root', 'senha' );[/b]    // executa a instrução SQL
    $consulta = $pdo->query( 'SELECT nome, usuario FROM usuario;' );
    // Pega os dados de um determinado usuário através de um array 
    while ( $linha = $consulta->fetch( PDO::FETCH_ASSOC ) )
    {
        // aqui eu mostro os valores de minha consulta
        echo "Nome: {$linha['nome']} - Usuário: {$linha['nome']}<br />";
    }
    // fecho a conexão
    $pdo = null;
}
catch ( PDOException $e )
{
    // Caso ocorra uma exceção, exibe na tela
    echo $e->getMessage();
}
?>


<?php
   try
   {
 [b]     $db = new PDO("mysql:host=".$host.";dbname=".$bancodedados.", $usuario, $senha);[/b]
      
      // Selecionando os dados da tabela
      $sql = $db->query("Select nome, codigo from usuarios");

      foreach ( $sql as $row )
      {
         print "Nome: " . $row[0] . " - Codigo: " . $row[1];
      }
   catch (PDOException $e)
   {
      $e->getMessage();
   }
      ?>

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Salve,

Veja se pode lhe ajudar

<?php

//Database.class.php

class Database
{
    public static function factoryPDO()
    {    
        try
        {            
            $dsn        = 'mssql:host=dominio.com;dbname=database_name';
            $username   = 'usernam';
            $password   = 'password';
            $pdo        = new pdo($dsn, $username, $password);
            $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            return $pdo;
        }
        catch(Exception $e)
        {
            throw new Exception($e->getMessage(), $e->getCode());
        }
    }
}

Link para o comentário
Compartilhar em outros sites

  • 0
Salve,

Veja se pode lhe ajudar

<?php

//Database.class.php

class Database
{
    public static function factoryPDO()
    {    
        try
        {            
            $dsn        = 'mssql:host=dominio.com;dbname=database_name';
            $username   = 'usernam';
            $password   = 'password';
            $pdo        = new pdo($dsn, $username, $password);
            $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            return $pdo;
        }
        catch(Exception $e)
        {
            throw new Exception($e->getMessage(), $e->getCode());
        }
    }
}
Quase isso, mas não quero ficar digitando: 'mysql:host=localhost;dbname=exemplo_select', 'root', 'senha' toda vez que for digitar um comando sql, entendeu?
pdo = new PDO( [b]'mysql:host=localhost;dbname=exemplo_select', 'root', 'senha' [/b]);
   // executa a instrução SQL
    $consulta = $pdo->query( 'SELECT nome, usuario FROM usuario;' );
    // Pega os dados de um determinado usuário através de um array 
    while ( $linha = $consulta->fetch( PDO::FETCH_ASSOC ) )
    {
        // aqui eu mostro os valores de minha consulta
        echo "Nome: {$linha['nome']} - Usuário: {$linha['nome']}<br />";
    }
    // fecho a conexão
    $pdo = null;
}
catch ( PDOException $e )
{
    // Caso ocorra uma exceção, exibe na tela
    echo $e->getMessage();

Link para o comentário
Compartilhar em outros sites

  • 0
Quase isso, mas não quero ficar digitando: 'mysql:host=localhost;dbname=exemplo_select', 'root', 'senha' toda vez que for digitar um comando sql, entendeu?

Brother,

Me desculpe, as você entendeu o funcionamento da classe ? :huh:

Você iria montar um unico arquivo, depois, só usar da seguinte forma:

$pdo = Database::factoryPDO()

Pronto!

Já tem um objeto PDO (conectado) para uso.

Entendeu ?

Link para o comentário
Compartilhar em outros sites

  • 0
Quase isso, mas não quero ficar digitando: 'mysql:host=localhost;dbname=exemplo_select', 'root', 'senha' toda vez que for digitar um comando sql, entendeu?

Brother,

Me desculpe, as você entendeu o funcionamento da classe ? :huh:

Você iria montar um unico arquivo, depois, só usar da seguinte forma:

$pdo = Database::factoryPDO()

Pronto!

Já tem um objeto PDO (conectado) para uso.

Entendeu ?

(Resolvido) Muito obrigado!

Editado por nsouza
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...