Aula 19 - Classe Mysql Simples
Autor: Marco | Publicado: 2010-09-02T16:57:00-03:00

Primeiramente desculpe pela demora, mas o bicho tá pegando, quase recebemos nossa segunda doação de R$10,00 mas infelizmente foi cancelada rssss. Então continuamos com apenas 1 doação em praticamente 1 ano de BLOG rsss, mas enfim fazer o que né.
Bem galera não está dando para seguir o planejamento das aulas devido ao tempo que está curto, estou tento que pegar vários freelas baratinhos para pagar as contas, e isso acaba que toma o tempo todo.
Hoje vou postar para vocês um exemplo de como podemos abstrair tarefas simples e rotineiras como o update, delete, insert e select em um banco de dados.
Para os críticos, obsecados por designer patterns, segurança e tudo mais, antes de me fazer perder meu tempo lendo seu comentário leia com bastante atenção a linha abaixo:
"Estas classes tem como propósito apenas o estudo de como utilizar orientação a objetos para abstrair tarefas rotineiras, estas classes não são a solução do universo e o mundo inteiro vai utilizar, é apenas para as pessoas que acompanham o blog começarem a se interagir com o que aprenderam + prática"
Bem dito isto, vamos lá nossa idéia então é fazer uma classe para conectar no banco e outra para minimizar a tarefa de atualizar, deletar, inserir e selecionar, minha conexão não permite gravar vídeo então vou postar os códigos coloquei o máximo de comentários possível rsss por isso parece grande, mas creio que todos vão conseguir entender, senão é só mandar um comentário.

Como ficou tudo embolado então estou disponibilizando os arquivos para download, se tiver link quebrado ou coisas do tipo manda um comentário:

DOWNLOAD 1 - Classe Mysql 
DOWNLOAD 2 - Classe Mysql
Criando nossa classe de conexãoconexao.class.php

&lt;?php

class Conexao 
{
&nbsp;&nbsp;&nbsp; /**
&nbsp;&nbsp;&nbsp; &nbsp;* Constante responsável por armazenar o servidor do banco
&nbsp;&nbsp;&nbsp; &nbsp;*
&nbsp;&nbsp;&nbsp; &nbsp;*/
&nbsp;&nbsp;&nbsp; const DB_HOST='localhost';
&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; /**
&nbsp;&nbsp;&nbsp; &nbsp;* Constante responsável por armazenar o nome do banco
&nbsp;&nbsp;&nbsp; &nbsp;*
&nbsp;&nbsp;&nbsp; &nbsp;*/
&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; const DB_NOME='emig';
&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; /**
&nbsp;&nbsp;&nbsp; &nbsp;* Constante responsável por armazenar o nome do usuário do banco
&nbsp;&nbsp;&nbsp; &nbsp;*
&nbsp;&nbsp;&nbsp; &nbsp;*/
&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; const DB_USER='root';
&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; /**
&nbsp;&nbsp;&nbsp; &nbsp;* Constante responsável por armazenar a senha do banco
&nbsp;&nbsp;&nbsp; &nbsp;*
&nbsp;&nbsp;&nbsp; &nbsp;*/
&nbsp;&nbsp;&nbsp; const DB_PASS='';
&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; /**
&nbsp;&nbsp;&nbsp;&nbsp; * Método construtor, executado "automaticamente" quando iniciada classe
&nbsp;&nbsp;&nbsp;&nbsp; */
&nbsp;&nbsp;&nbsp; function __construct()
&nbsp;&nbsp;&nbsp; {
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; /**
&nbsp;&nbsp;&nbsp;&nbsp; * Método responsável por conectar no banco
&nbsp;&nbsp;&nbsp;&nbsp; */
&nbsp;&nbsp;&nbsp; public function Conecta()
&nbsp;&nbsp;&nbsp; {
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //lembrando que self referencia a própria classe no nosso caso
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //estamos chamando uma constante que está definida nesta classe
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //então conectar ao banco
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $con = mysql_connect(self::DB_HOST,self::DB_USER,self::DB_PASS) or die ('Erro ao conectar: ' .mysql_error());
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //Agora vamos selecionar o banco de dados
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $db = mysql_select_db(self::DB_NOME) or die ('Erro ao selecionar o banco: ' .mysql_error());
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp; 
}
?&gt;
Bem acho que não tem praticamente nada para eu explicar ai não né? rsss
Agora vamos criar a classe que vai fazer aquela tarefa de atualizar, remover, inserir e selecionar
manipulasql.class.php
&lt;?php
class ManipulaSql extends Conexao 
{
&nbsp;&nbsp; &nbsp;/**
&nbsp;&nbsp; &nbsp; * Propriedade responsável por retornar os resultados das querys
&nbsp;&nbsp; &nbsp; *
&nbsp;&nbsp; &nbsp; */
&nbsp;&nbsp; &nbsp;public $content;
&nbsp;&nbsp; 
&nbsp;&nbsp; &nbsp;/**
&nbsp;&nbsp; &nbsp; * Método responsável por executar um SELECT no banco de dados
&nbsp;&nbsp; &nbsp; * 
&nbsp;&nbsp; &nbsp; * Utilização:
&nbsp;&nbsp; &nbsp; * 
&nbsp;&nbsp; &nbsp; * $sql = "SELECT Codigo, Nome, Descricao FROM produtos";
&nbsp;&nbsp; &nbsp; * $s = new ManipulaSql();
&nbsp;&nbsp; &nbsp; * $s-&gt;Seleciona($sql);
&nbsp;&nbsp; &nbsp; * if(!empty($s-&gt;content))
&nbsp;&nbsp; &nbsp; * {
&nbsp;&nbsp; &nbsp; * &nbsp;&nbsp; &nbsp;foreach ($s-&gt;content as $v)
&nbsp;&nbsp; &nbsp; * &nbsp;&nbsp; &nbsp;{
&nbsp;&nbsp; &nbsp; * &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;echo 'Código: ' .$v[0]. '
';
&nbsp;&nbsp; &nbsp; * &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;echo 'Nome: ' .$v[1]. '
';
&nbsp;&nbsp; &nbsp; * &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;echo 'Descrição: ' .$v[2]. '
';
&nbsp;&nbsp; &nbsp; * &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;echo '
';
&nbsp;&nbsp; &nbsp; * &nbsp;&nbsp; &nbsp;}
&nbsp;&nbsp; &nbsp; * } else {
&nbsp;&nbsp; &nbsp; * &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;echo 'Não foram encontrados registros em sua pesquisa.';
&nbsp;&nbsp; &nbsp; * }
&nbsp;&nbsp; &nbsp; * 
&nbsp;&nbsp; &nbsp; * @param string $qry
&nbsp;&nbsp; &nbsp; * @return array
&nbsp;&nbsp; &nbsp; */
&nbsp;&nbsp; &nbsp;public function Seleciona($qry)
&nbsp;&nbsp; &nbsp;{
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//como extendemos a classe Conexao, então podemos utilizar
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//os metodos herdados pela mesma (não vou entrar em detalhes sobre visibilidade)
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//conecta no banco de dados
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;$con = Conexao::Conecta();
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//executa a query
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;$exec = mysql_query($qry) or die('Erro ao executar a query: ' .mysql_error());
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//faço um loop nos resultados e vou armazendo em nossa variável $content
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//que é responsável por nos retornar os dados da consulta
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;while($row = mysql_fetch_array($exec)) {
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;$this-&gt;content[] = $row;
&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;}

&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//retorno os dados
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;return $this-&gt;content;
&nbsp;&nbsp; 
&nbsp;&nbsp; &nbsp;}
&nbsp;&nbsp; 
&nbsp;&nbsp; &nbsp;/**
&nbsp;&nbsp; &nbsp; * Método responsável executar um INSERT no banco
&nbsp;&nbsp; &nbsp; * 
&nbsp;&nbsp; &nbsp; * Utilização:
&nbsp;&nbsp; &nbsp; * 
&nbsp;&nbsp; &nbsp; * $sql = "INSERT INTO tabela(campo1) VALUES ('algo1')";
&nbsp;&nbsp; &nbsp; * $i = new ManipulaSql();
&nbsp;&nbsp; &nbsp; * $i-&gt;Insere($sql);
&nbsp;&nbsp; &nbsp; * if(!empty($i-&gt;content))
&nbsp;&nbsp; &nbsp; * {
&nbsp;&nbsp; &nbsp; * &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;echo 'O registro ' .$i-&gt;content. ' foi adicionado a base de dados.';
&nbsp;&nbsp; &nbsp; * } else {
&nbsp;&nbsp; &nbsp; * &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;echo 'Nenhum registro foi adicionado.';
&nbsp;&nbsp; &nbsp; * }
&nbsp;&nbsp; &nbsp; * 
&nbsp;&nbsp; &nbsp; * @param string $qry
&nbsp;&nbsp; &nbsp; * @return int
&nbsp;&nbsp; &nbsp; */
&nbsp;&nbsp; &nbsp;public function Insere($qry)
&nbsp;&nbsp; &nbsp;{
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//conecta no banco de dados
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;$con = Conexao::Conecta();
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//executa a query
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;$exec = mysql_query($qry) or die('Erro ao executar a query: ' .mysql_error());
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//reonsável por armazenar o ID gerado
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//em nossa variável de retorno $this-&gt;content
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;$this-&gt;content = mysql_insert_id();

&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//retorna o id do cadastro
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;return $this-&gt;content;
&nbsp;&nbsp; 
&nbsp;&nbsp; &nbsp;}
&nbsp;&nbsp; 
&nbsp;&nbsp; &nbsp;/**
&nbsp;&nbsp; &nbsp; * Método responsável executar um UPDATE no banco
&nbsp;&nbsp; &nbsp; * 
&nbsp;&nbsp; &nbsp; * Utilização:
&nbsp;&nbsp; &nbsp; * 
&nbsp;&nbsp; &nbsp; * $sql = "UPDATE tabela SET campo1='algo1' WHERE campo='algo'";
&nbsp;&nbsp; &nbsp; * $a = new ManipulaSql();
&nbsp;&nbsp; &nbsp; * $a-&gt;Atualiza($sql);
&nbsp;&nbsp; &nbsp; * if(!empty($a-&gt;content))
&nbsp;&nbsp; &nbsp; * {
&nbsp;&nbsp; &nbsp; * &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;echo 'Foi(ram) atualizado(s) ' .$a-&gt;content. ' registro(s)';
&nbsp;&nbsp; &nbsp; * } else {
&nbsp;&nbsp; &nbsp; * &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;echo 'Nenhum registro foi atualizado.';
&nbsp;&nbsp; &nbsp; * }
&nbsp;&nbsp; &nbsp; * 
&nbsp;&nbsp; &nbsp; * @param string $qry
&nbsp;&nbsp; &nbsp; * @return int
&nbsp;&nbsp; &nbsp; */
&nbsp;&nbsp; &nbsp;public function Atualiza($qry)
&nbsp;&nbsp; &nbsp;{
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//conecta no banco de dados
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;$con = Conexao::Conecta();
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//executa a query
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;$exec = mysql_query($qry) or die('Erro ao executar a query: ' .mysql_error());
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//reonsável por armazenar o número de linhas alteradas
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//em nossa variável de retorno $this-&gt;content
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;$this-&gt;content = mysql_affected_rows();

&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//retorna o id do cadastro
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;return $this-&gt;content;
&nbsp;&nbsp; 
&nbsp;&nbsp; &nbsp;}
&nbsp;&nbsp; 
&nbsp;&nbsp; &nbsp;/**
&nbsp;&nbsp; &nbsp; * Método responsável executar um DELETE no banco
&nbsp;&nbsp; &nbsp; * 
&nbsp;&nbsp; &nbsp; * Utilização:
&nbsp;&nbsp; &nbsp; * 
&nbsp;&nbsp; &nbsp; * $sql = "DELETE FROM nome_tabela WHERE campo='algo'";
&nbsp;&nbsp; &nbsp; * $r = new ManipulaSql();
&nbsp;&nbsp; &nbsp; * $r-&gt;Remove($sql);
&nbsp;&nbsp; &nbsp; * if(!empty($r-&gt;content))
&nbsp;&nbsp; &nbsp; * {
&nbsp;&nbsp; &nbsp; * &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;echo 'Foi(ram) removido(s) ' .$r-&gt;content. ' registro(s).';
&nbsp;&nbsp; &nbsp; * } else {
&nbsp;&nbsp; &nbsp; * &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;echo 'Nenhum registro foi removido.';
&nbsp;&nbsp; &nbsp; * }
&nbsp;&nbsp; &nbsp; * 
&nbsp;&nbsp; &nbsp; * @param string $qry
&nbsp;&nbsp; &nbsp; * @return int
&nbsp;&nbsp; &nbsp; */
&nbsp;&nbsp; &nbsp;public function Remove($qry)
&nbsp;&nbsp; &nbsp;{
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//conecta no banco de dados
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;$con = Conexao::Conecta();
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//executa a query
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;$exec = mysql_query($qry) or die('Erro ao executar a query: ' .mysql_error());
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//reonsável por armazenar o número de linhas alteradas
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//em nossa variável de retorno $this-&gt;content
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;$this-&gt;content = mysql_affected_rows();

&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//retorna o id do cadastro
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;return $this-&gt;content;
&nbsp;&nbsp; 
&nbsp;&nbsp; &nbsp;}
&nbsp;&nbsp; 
&nbsp;&nbsp; 
}?&gt;
E por fim vamos mostrar como utilizar apesar que já coloquei como utilizar na propria classe, mas vou mostrar de qualquer forma para ficar bem claro!
index.php&lt;?php
//Primeiramente eu incluo as nossas duas classes
require_once('conexao.class.php');
require_once('manipulasql.class.php');



#Fazendo um select

//Monto minha query de consulta
$sql = "SELECT Codigo, Nome, Descricao FROM produtos";
//Instancio a classe de manipulação
$s = new ManipulaSql();
//executo o método reponsável por selecionar os dados passando como parametro 
//a nossa query
$s-&gt;Seleciona($sql);
//nosso método retorna o objeto content que contém os dados da consulta
//então vamos verificar se nossa consulta retornou alguma informação
if(!empty($s-&gt;content))
{
&nbsp;&nbsp; &nbsp;//caso sim, então vamos listar estes dados encontrados
&nbsp;&nbsp; &nbsp;foreach ($s-&gt;content as $v)
&nbsp;&nbsp; &nbsp;{
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//se você está se perguntando o que são este 0,1,2 é simples, observe nossa
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//query: SELECT Codigo, Nome, Descricao FROM produtos, olhou viu alguma
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//relação com o 0,1 e 2? Pois bem, este índices da array, nos retornam
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//exatamente na ordem que especificamos na query, como as array se iniciam
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//do 0(zero), logo $v[0] é o Codigo, e assim por diante. Moleza?
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;echo 'Código: ' .$v[0]. '
';
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;echo 'Nome: ' .$v[1]. '
';
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;echo 'Descrição: ' .$v[2]. '
';
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;echo '
';
&nbsp;&nbsp; &nbsp;}
&nbsp;&nbsp; 
//Caso a nossa consulta não tenha retornado nenhum resultado, então exibe o erro
} else {
&nbsp;&nbsp; &nbsp;echo 'Não foram encontrados registros em sua pesquisa.';
}

#fazendo um insert

//Monto minha query de inserir
$sql = "INSERT INTO tabela(campo1) VALUES ('algo1')";
//Instancio a classe de manipulação
$i = new ManipulaSql();
//executo o método reponsável por inserir os dados passando como parametro 
//a nossa query de inserir
$i-&gt;Insere($sql);
//nosso método retorna o objeto content que contém informações sobre a ação efetuada
//no caso o INSERT
//então vamos verificar se nossa consulta retornou alguma informação
if(!empty($i-&gt;content))
{
&nbsp;&nbsp; &nbsp;echo 'O registro ' .$i-&gt;content. ' foi adicionado a base de dados.';
&nbsp;&nbsp; 
//Caso a nosso insert não tenha sido efetuado, então exibe o erro
} else {
&nbsp;&nbsp; &nbsp;echo 'Nenhum registro foi adicionado.';
}

#fazendo um update

//Monto minha query de Atualizar
$sql = "UPDATE tabela SET Campo='Algo' WHERE Campo='algumacosa'";
//Instancio a classe de manipulação
$a = new ManipulaSql();
//executo o método reponsável por atualizar os dados passando como parametro 
//a nossa query de update
$a-&gt;Atualiza($sql);
//nosso método retorna o objeto content que contém informações sobre a 
//ação efetuada no caso o UPDATE
//então vamos verificar se nosso update retornou alguma informação
if(!empty($a-&gt;content))
{
&nbsp;&nbsp; &nbsp;echo 'Foi(ram) atualizado(s) ' .$a-&gt;content. ' registro(s)';
&nbsp;&nbsp; 
//Caso a nosso UPDATE não tenha sido efetuado, então exibe o erro
} else {
&nbsp;&nbsp; &nbsp;echo 'Nenhum registro foi atualizado.';
}


#fazendo um delete

//Monto minha query de Remover
$sql = "DELETE FROM nome_tabela WHERE campo='algo'";
//Instancio a classe de manipulação
$r = new ManipulaSql();
//executo o método reponsável por atualizar os dados passando como parametro 
//a nossa query de DELETE
$r-&gt;Remove($sql);
//nosso método retorna o objeto content que contém informações sobre a 
//ação efetuada no caso o DELETE
//então vamos verificar se nosso delete retornou alguma informação
if(!empty($r-&gt;content))
{
&nbsp;&nbsp; &nbsp;echo 'Foi(ram) removido(s) ' .$r-&gt;content. ' registro(s).';

//Caso a nosso DELETE não tenha sido efetuado, então exibe o erro
} else {
&nbsp;&nbsp; &nbsp;echo 'Nenhum registro foi removido.';
}
?&gt;





Se possível deixe um cafezinho para a gente!