Estou tentando fazer uma classe que englobe todas as funções MYSQL... INSERT, DELETE, SELECT, UPDATE.
Até agora esta bem básico (e provavelmente cheio de erros ainda). Gostaria que me ajudassem a melhorar a classe, dando suas opiniões, apontando erros e/ou melhores maneiras do código funcionar, etc.
[codebox]
class Mysql {
var $conect;
var $database;
var $query;
// Inicia a Conexão com a Base de Dados
function conectar($host,$db,$usuario,$senha)
{
$this->conect = mysql_connect($host, $usuario, $senha);
if(!$this->conect)
{
echo "Falha na conexão com o Banco de Dados.<br />";
echo "Erro: " . mysql_error();
die();
}
$this->database = mysql_select_db($db, $this->conect);
if(!mysql_select_db($db, $this->conect))
{
echo "O Bando de Dados solicitado não pode ser aberto.<br />";
echo "Erro: " . mysql_error();
die();
}
}
#########################################################################################
// Usando INSERT
function inserir($tabela,$campo,$valor)
{
$this->query = mysql_query("INSERT INTO ".$tabela." ('".$campo."') VALUES ('".$valor."')");
if($this->query)
{
$log = "Cadastrado com sucesso!";
return $log;
}
else
{
$log = "Não foi possivel cadastrar! Erro: ".mysql_error();
return $log;
}
}
#########################################################################################
// Usando DELETE
function deletar($tabela,$where)
{
$this->query = mysql_query("DELET FROM ".$tabela." WHERE ".$where."");
if($this->query)
{
$log = "Dados deletados com sucesso!";
return $log;
}
else
{
$log = "Não foi possivel deletar os dados! Erro: ".mysql_error();
return $log;
}
}
#########################################################################################
// Usando UPDATE
function atualizar($tabela,$valores)
{
$this->query = mysql_query("UPDATE ".$tabela." SET ('".$valores."')");
if($this->query)
{
$log = "Dados atualizados com sucesso!";
return $log;
}
else
{
$log = "Não foi possivel atualizar os dados! Erro: ".mysql_error();
return $log;
}
}
#########################################################################################
// Usando SELECT
function selecionar($campos,$tabela,$where,$orderby,$alinhamento,$limit)
{
//SELECT campos FROM tabela
if(!empty($campos) && !empty($tabela) && empty($where) && empty($orderby) && empty($alinhamento) && empty($limit))
{
$this->query = mysql_query("SELECT ".$campos." FROM ".$tabela."");
}
//SELECT campos FROM tabela WHERE variavel = variavel
elseif(!empty($campos) && !empty($tabela) && !empty($where) && empty($orderby) && empty($alinhamento) && empty($limit))
{
$this->query = mysql_query("SELECT ".$campos." FROM ".$tabela." WHERE ".$where."");
}
//SELECT campos FROM tabela WHERE variavel = variavel LIMIT 5
elseif(!empty($campos) && !empty($tabela) && !empty($where) && empty($orderby) && empty($alinhamento) && !empty($limit))
{
$this->query = mysql_query("SELECT ".$campos." FROM ".$tabela." WHERE ".$where." LIMIT ".$limit."");
}
//SELECT campos FROM tabela WHERE variavel = variavel DESC
elseif(!empty($campos) && !empty($tabela) && !empty($where) && empty($orderby) && !empty($alinhamento) && empty($limit))
{
$this->query = mysql_query("SELECT ".$campos." FROM ".$tabela." WHERE ".$where." ".$alinhamento."");
}
//SELECT campos FROM tabela WHERE variavel = variavel ORDER BY variavel
elseif(!empty($campos) && !empty($tabela) && !empty($where) && !empty($orderby) && empty($alinhamento) && empty($limit))
{
$this->query = mysql_query("SELECT ".$campos." FROM ".$tabela." WHERE ".$where." ORDER BY ".$orderby."");
}
//SELECT campos FROM tabela WHERE variavel = variavel ORDER BY variavel DESC
elseif(!empty($campos) && !empty($tabela) && !empty($where) && !empty($orderby) && !empty($alinhamento) && empty($limit))
{
$this->query = mysql_query("SELECT ".$campos." FROM ".$tabela." WHERE ".$where." ORDER BY ".$orderby." ".$alinhamento."");
}
//SELECT campos FROM tabela WHERE variavel = variavel ORDER BY variavel DESC LIMIT 5
elseif(!empty($campos) && !empty($tabela) && !empty($where) && !empty($orderby) && !empty($alinhamento) && !empty($limit))
{
$this->query = mysql_query("SELECT ".$campos." FROM ".$tabela." WHERE ".$where." ORDER BY ".$orderby." ".$alinhamento." LIMIT ".$limit."");
}
}
##########################################################################################
// Fecha Conexão com a Base de Dados
function desconectar()
{
mysql_close($this->conect);
}
###########################################################################################
} //Fecha Classe
?>
<?php
// MODO DE USO
include("classe.php"); // Inclui o arquivo da classe
$sql = new conectar('localhost','database','user','password'); // Estancia o objeto e já faz a conexão
$sql->inserir('tabela','campo','valor'); // Executa INSERT de dados
$sql->deletar('tabela','where'); // Executa DELETE de dados
$sql->atualizar('tabela','valores') // Executa PUDATE de dados
$sql->selecionar('campos','tabela','where','orderby','alinhamento','limit'); // Executa SELECT de dados
$sql->desconectar(); // Fecha a conexão com Banco de Dados
?>
[/codebox]
Agradeço desde já a atenção e a ajuda de vocês.
Edição feita por: destrutorx, 13/11/2008, 17:23.