Responder a: Inicio com a classe PDO

Home Fórum Desenvolvimento PHP Inicio com a classe PDO Responder a: Inicio com a classe PDO

#6465

felipemantoan
Moderador

não gosto de ficar postando código no fórum mas vou tentar ser breve neste assunto:


<?php
/**
 * classe simples extendida de PDO
 */
 error_reporting(0);//desligando os erros do código
 
class Conexao extends PDO{
	
	private $dns = 'mysql:host=localhost;dbname=pdo;'
	private $user = 'root';
	private $pass = '';
    private $select = array(
        PDO::MYSQL_ATTR_INIT_COMMAND =>
            "SET NAMES utf8");//aqui estamos evitando erros de acentuação no mysql
	
	function __construct(){
		try{
			parent::__construct($this->dns,$this->user,$this->pass,$this->select);
            /*
             * Não vou ensinar o conceito de parent
             * nem o de $this, ou muito menos o de self;
             * básicamente estamos fazendo o seguinte
             * $var = new PDO($dns,$user,$pass,$select)
             * */
            parent::setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            //dizendo pra classe pdo que queremos ver os erros de sql
            
			return TRUE;
            
		}catch(PDOException $e){
		    //trantando as exeções
            echo $e->getMessage() . '<br />';//mensagem de erro
            echo $e->getCode(). '<br />';//código do erro
            echo $e->getFile(). '<br />';//arquivo aonde se encontra o erro
            echo $e->getLine(). '<br />';//linha do arquivo aonde está o erro
            return FALSE;
		}	
	}
}

?>

como utilizar?


<?php
     require_once('Conexao.class.php');
     
     
     $conexao = new Conexao();//instanciando ao classe
     
     $sql = 'SELECT * FROM tabela';
     
     $query = $conexao->query($sql);//passando a variável sql para execução do método
     
     while($select = $query->fetch(PDO::FETCH_OBJ)){
         
         echo $select->nome . '<br />';
    
     }
     
     
?>