Jump to content


Photo

Classe Mysql (insert, Delete, Update, Select)


  • Faça o login para participar
55 replies to this topic

#1 destrutorx

destrutorx

    Hell Yes!

  • Usuários
  • 175 posts
  • Sexo:Masculino
  • Localidade:Nova Iguaçu - RJ
  • Interesses:Quadrinhos, cinema, musica, programação, internet

Posted 13/11/2008, 17:22

Olá. Estou estudando Programação Orientada a Objetos e resolvi tentar montar minha primeira Classe. Como tema, escolhi os comandos MYSQL.

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.


#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 14/11/2008, 07:26

Acho que uma coisa interessante a se fazer para os casos de UPDATE, INSERT e DELETE, é a possibilidade de passar vetores e não simplesmente strings, por exemplo:

$data = array('campo_a' => 'valor a', 'campo_b' => 'valor b');
$obj->inserir('tabela', $data);

E dentro do método você separa os valores do vetor e monta a query. Acho que assim fica mais simples para o usuário final.

[]'sAté mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#3 destrutorx

destrutorx

    Hell Yes!

  • Usuários
  • 175 posts
  • Sexo:Masculino
  • Localidade:Nova Iguaçu - RJ
  • Interesses:Quadrinhos, cinema, musica, programação, internet

Posted 14/11/2008, 13:04

Ficaria assim?

Modo de uso
[codebox]
$dados = array('campo_a' => 'valor a', 'campo_b' => 'valor b');
$sql->inserir('tabela',$dados);
[/codebox]

class.php
[codebox]
function inserir($tabela,$dados)
{
foreach ($dados as $key => $valor) {
$this->query = mysql_query("INSERT INTO ".$tabela." ('".$dados[$key]."') VALUES ('".$valor."')");
}
if($this->query)
{
return true;
}
else
{
return mysql_error();
}
}
[/codebox]

:huh:

#4 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 14/11/2008, 13:35

Não porque ai você inseriu vários registros, um registro para cada campo.

Precisa separar as coisas primeiro e montar a query:

$campos = array_keys($data);
	$valores = array_values($data);
	
	$query = "INSERT INTO " . $tabela;
	$query .= " (" . implode(', ', $campos) . ")";
	$query .= " VALUES('" . implode('\', \'', $valores) . "')";

[]'sAté mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#5 destrutorx

destrutorx

    Hell Yes!

  • Usuários
  • 175 posts
  • Sexo:Masculino
  • Localidade:Nova Iguaçu - RJ
  • Interesses:Quadrinhos, cinema, musica, programação, internet

Posted 14/11/2008, 14:04

Ah tah. Tava fazendo vários INSERT, saquei. Atualizei a classe. Mexi no INSERT e adicionei um tratamento de erros.
[codebox]
class Mysql {
var $conect;
var $database;
var $query;

public function __construct(){
return $this->conectar();
}

public function gravando_erros($erro){
$arquivo = fopen('erro.txt','a');
fwrite($arquivo,"[".date("r")."] Erro: $erro\r\n");
fclose($arquivo);
}

public function erro($msgerro){
$exibemsg = "Ocorreu um problema durante a manipulação dos dados! ";
$exibemsg .= "O erro encontrado foi: ";
$exibemsg .= "$msgerro"; //Erro MYSQL

gravando_erros($msgerro);

return $exibemsg;
}


// 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)
{
return true;
}
else
{
erro(mysql_error());
}
$this->database = mysql_select_db($db, $this->conect);
if(mysql_select_db($db, $this->conect))
{
return true;
}
else
{
erro(mysql_error());
}
}
##########################################################################
// Usando INSERT
function inserir($tabela,$dados)
{
// Dividimos o Array dentro de $dados em Chaves e Valores
$campos = array_keys($dados);
$valores = array_values($dados);
//Executamos a Query
$this->query = mysql_query("INSERT INTO ".$tabela." (".implode(', ', $campos).") VALUES ('" . implode('\', \'', $valores) . "')");
//Verificamos se a Query foi executada corretamente
if($this->query)
{
return true;
}
else
{
return mysql_error();
}
}
#########################################################################
// Usando DELETE
function deletar($tabela,$where)
{
$this->query = mysql_query("DELETE FROM ".$tabela." WHERE ".$where."");
if($this->query)
{
return true;
}
else
{
return mysql_error();
}
}
#########################################################################
// Usando UPDATE
function atualizar($tabela,$valores)
{
$this->query = mysql_query("UPDATE ".$tabela." SET ('".$valores."')");
if($this->query)
{
return true;
}
else
{
return mysql_error();
}
}
#########################################################################
// 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);
}
############################################################################

public function __destruct(){
return $this->conectar();
}
} //Fecha Classe
[/codebox]

#6 destrutorx

destrutorx

    Hell Yes!

  • Usuários
  • 175 posts
  • Sexo:Masculino
  • Localidade:Nova Iguaçu - RJ
  • Interesses:Quadrinhos, cinema, musica, programação, internet

Posted 17/11/2008, 17:55

Adicionada função anti SQL injection
[codebox]
class Mysql {
var $conect;
var $database;
var $query;

public function __construct(){
return $this->conectar();
}

public function gravando_erros($erro){
$arquivo = fopen('erro.txt','a');
fwrite($arquivo,"[".date("r")."] Erro: $erro\r\n");
fclose($arquivo);
}

public function erro($msgerro){
$exibemsg = "Ocorreu um problema durante a manipulação dos dados! ";
$exibemsg .= "O erro encontrado foi: ";
$exibemsg .= "$msgerro"; //Erro MYSQL

gravando_erros($msgerro);

return $exibemsg;
}


// 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)
{
return true;
}
else
{
erro(mysql_error());
}
$this->database = mysql_select_db($db, $this->conect);
if(mysql_select_db($db, $this->conect))
{
return true;
}
else
{
erro(mysql_error());
}
}
##########################################################################
// Função Anti SQL Injection
public function antiSQLinjection($recebe){
$recebe = get_magic_quotes_gpc() == 0 ? addslashes($recebe) : $recebe; // Verifica a configuração de "magic_quotes_gpc"
$recebe = strip_tags($recebe); // Limpa as tags HTML
$recebe = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|\\\\)/"),"",$recebe);
$recebe = preg_replace("@(--|\#|\*|;|=)@s", "", $recebe);
return $recebe;
}
##########################################################################
// Usando INSERT
function inserir($tabela,$dados)
{
// Dividimos o Array dentro de $dados em Chaves e Valores
$campos = array_keys($dados);
$valores = array_values($dados);
//Executamos a Query
$this->query = mysql_query("INSERT INTO ".$tabela." (".implode(', ', $campos).") VALUES ('" . implode('\', \'', $valores) . "')");
//Verificamos se a Query foi executada corretamente
if($this->query)
{
return true;
}
else
{
return mysql_error();
}
}
#########################################################################
// Usando DELETE
function deletar($tabela,$where)
{
$this->query = mysql_query("DELETE FROM ".$tabela." WHERE ".$where."");
if($this->query)
{
return true;
}
else
{
return mysql_error();
}
}
#########################################################################
// Usando UPDATE
function atualizar($tabela,$valores)
{
$this->query = mysql_query("UPDATE ".$tabela." SET ('".$valores."')");
if($this->query)
{
return true;
}
else
{
return mysql_error();
}
}
#########################################################################
// 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."");
return true;
}
//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."");
return true;
}
//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."");
return true;
}
//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."");
return true;
}
//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."");
return true;
}
//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."");
return true;
}
//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."");
return true;
}
}
############################################################################
// Fecha Conexão com a Base de Dados
function desconectar()
{
mysql_close($this->conect);
}
############################################################################

public function __destruct(){
return $this->conectar();
}
} //Fecha Classe
[/codebox]

#7 destrutorx

destrutorx

    Hell Yes!

  • Usuários
  • 175 posts
  • Sexo:Masculino
  • Localidade:Nova Iguaçu - RJ
  • Interesses:Quadrinhos, cinema, musica, programação, internet

Posted 15/01/2009, 10:27

Atualizada:

class Mysql {
		var $conect;
		var $database;
		var $query;
		
		public function __construct(){
				return $this->conectar();
		} // Fecha Function
		
		public function gravando_erros($erro){
				$arquivo = fopen('erro.txt','a');
				fwrite($arquivo,"[".date("r")."] Erro: $erro\r\n");
				fclose($arquivo);
		} // Fecha Function
		
		public function erro($msgerro){ 
				$exibemsg = "Ocorreu um problema durante a manipulação dos dados! ";
				$exibemsg .= "O erro encontrado foi: <br />";
				$exibemsg .= "$msgerro"; //Erro MYSQL 
					
				gravando_erros($msgerro);
					
				return $exibemsg;
		} // Fecha Function
		
		
		// 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)
				{
					return true;
				}
				else
				{
					erro(mysql_error());
				}
				
				$this->database = mysql_select_db($db, $this->conect);
				if(mysql_select_db($db, $this->conect))
				{
					return true;
				}
				else
				{
					erro(mysql_error());
				}
		} // Fecha Function
##########################################################################
		// Função Anti SQL Injection
		public function antiSQLinjection($recebe){
				$recebe = get_magic_quotes_gpc() == 0 ? addslashes($recebe) : $recebe; // Verifica a configuração de "magic_quotes_gpc"
				$recebe = strip_tags($recebe); // Limpa as tags HTML
				$recebe = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|\\\\)/"),"",$recebe);
				$recebe = preg_replace("@(--|\#|\*|;|original.gif@s", "", $recebe);
				return $recebe;
		} // Fecha Function
##########################################################################
		// Usando INSERT
		function inserir($tabela,$dados){
		// Dividimos o Array dentro de $dados em Chaves e Valores
				$campos = array_keys($dados);
				$valores = array_values($dados);
		//Executamos a Query	
				$this->query = mysql_query("INSERT INTO ".$tabela." (".implode(', ', $campos).") VALUES ('" . implode('\', \'', $valores) . "')");
		//Verificamos se a Query foi executada corretamente
				if($this->query)
				{
					return true;
				}
				else
				{
					erro(mysql_error());
				}
		} // Fecha Function
#########################################################################
		// Usando DELETE
		function deletar($tabela,$where){
				$this->query = mysql_query("DELETE FROM ".$tabela." WHERE ".$where."");
				if($this->query)
				{
					return true;
				}
				else
				{
					erro(mysql_error());
				}
		} // Fecha Function
#########################################################################
		// Usando UPDATE
		function atualizar($tabela,$valores){
				$this->query = mysql_query("UPDATE ".$tabela." SET ('".$valores."')");
				if($this->query)
				{
					return true;
				}
				else
				{
					erro(mysql_error());
				}
		} // Fecha Function
#########################################################################	   
		// 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."");
					return true;
				}
				//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."");
					return true;
				}
				//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."");
					return true;
				}
				//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."");
					return true;
				}
				//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."");
					return true;
				}
				//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."");
					return true;
				}
				//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."");
					return true;
				}
		} // Fecha Function
############################################################################
		// Retorna os Resultados de uma Consulta
		function resultado($row){	
				$linhas = mysql_fetch_array($this->query);
				for($i = 0; $i <= $row; $i++) {
					if ($i == $row) {
						return $linhas;
					}
					$linhas++;
				}
		} // Fecha Function
		
		function allRes() {
				return mysql_fetch_all($this->query);
		} // Fecha Function
############################################################################
		// Fecha Conexão com a Base de Dados
		function desconectar(){
				mysql_close($this->conect);
		} // Fecha Function
############################################################################

   		public function __destruct(){
				return $this->conectar();
		} // Fecha Function
		
} //Fecha Classe





// MODO DE USO
// Inclui o arquivo da classe
include("classe.php"); 
// Estancia o objeto e já faz a conexão
$sql = new conectar('localhost','database','user','password'); 
// Executa INSERT de dados
$dados = array($campo => 'campo', $outro_campo => 'outro_campo');
$sql->inserir('tabela','dados'); 
// Executa DELETE de dados
$sql->deletar('tabela','where');
// Executa UPDATE de dados
$sql->atualizar('tabela','valores');
// Executa SELECT de dados
$sql->selecionar('campos','tabela','where','orderby','alinhamento','limit'); 
// Fecha a conexão com Banco de Dados
$sql->desconectar();

Edição feita por: destrutorx, 15/01/2009, 10:29.


#8 CMAC

CMAC

    Normal

  • Usuários
  • 93 posts
  • Sexo:Masculino

Posted 15/01/2009, 13:15

Boa iniciativa...

Você já testou essa classe?

Nesta parte:
// Estancia o objeto e já faz a conexão
$sql = new conectar('localhost','database','user','password');

Não deveria ser assim:
$sql = new Mysql('localhost','database','user','password');

e alterar o __construct para:
public function __construct($host,$db,$usuario,$senha){
	return $this->conectar($host,$db,$usuario,$senha);
} // Fecha Function

A função __destruct não deveria ser assim:
public function __destruct(){
	return $this->desconectar();
}

Para primeira classe está bom, mas você pode implementar mais funcionalidades na classe.

Abraços

#9 Ferlouko x)

Ferlouko x)

    Normal

  • Usuários
  • 72 posts
  • Sexo:Masculino
  • Localidade:Guararapes
  • Interesses:PHP, OOP, DESIGN PATTERNS, mySQL, XML, (X)HTML, CSS, TABLELESS, PHP-GTK, JAVA, C++.

Posted 28/06/2009, 05:25

Não há necessidade de retirar trechos da inserção, use addslashes, mysql_real_scape_string, isto já evitaria injection, pois tudo seria reconhecido como string, e para inteiros intval()...

ou melhor passe os campos como parâmetro, usando Mysqli.

imagine se fosse usar este codigo pra inserção num site de webmasters, jah era, huauhauhuha XD

Edição feita por: Ferlouko x), 28/06/2009, 05:26.

<?php
/**
* @author. . .Fernando Rodrigo Cardoso < ferlouko (at) gmail.com >
* @desc. . . .Desenv. PHP, (X)HTML, CSS, JS E AJAX, aprendiz JAVA, aprendiz C/C++ (...)
*/
?>

#10 Maykel Esser

Maykel Esser

    Super Veterano

  • Usuários
  • 1536 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 29/06/2009, 09:32

bom, já que o cara criou uma função, vou mover para a seção correta :)

Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens! add.png


#11 dilneiss

dilneiss

    Dilnei Soethe Spancerski

  • Usuários
  • 146 posts
  • Sexo:Masculino

Posted 14/07/2009, 23:00

gente como fica no final essa classe? estou tentando aqui mas dá muitos erros e não estou conseguindo fazer nada =(
por sinal essa classe parece muito boa
parabéns pela iniciativa
vou começar a usar ela quando funcionar em todos os meus sistemas que fazer daqui para frente

Edição feita por: dilneiss, 14/07/2009, 23:16.

<?php
define("MELHOR_FORUM_DO_MUNDO", "Webmasters Online");
echo MELHOR_FORUM_DO_MUNDO;
?>

#12 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 15/07/2009, 07:49

Como você está tentando usá-la? Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#13 Squall Robert

Squall Robert

    Mr. Squall - Mais Carne do que Osso (hihi)

  • Usuários
  • 507 posts
  • Sexo:Masculino
  • Localidade:Curitiba
  • Interesses:Php ... Php...Php

Posted 04/08/2009, 22:16

uma dica pra classe... apesar de estar bem fora do pasrão,

não imprime nada dentro da classe , usa return pra esse valores , crie vetores ou mesmo objetos para retornar mensagens de erros...
<?php

$squall = new Squall();

$squall->Ajudando("você");

$resultado = $squall->solucao();  ?>

#14 Fábio Aguiar

Fábio Aguiar

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Masculino
  • Localidade:Fortaleza

Posted 01/08/2011, 18:14

Olá, espero que alguém veja esse tópico pois é um pouco antigo.

Gostaria de tirar uma dúvida quanto ao método de select pois em todos os casos temos if(!empty($tabela) como?

#15 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 23/09/2017, 13:21

Viagra Laboratoire Lily cialis online Comprar Cialis Generico Sin Receta Cod Only Secure Levaquin Need Discount Denver




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq