Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

felipe_rezende

Classe Para Conexao com MySQL

Recommended Posts

Uma classe que fiz para faciltar a vida quando for mexer com banco de dados...

 

Um exemplo

<?phpinclude ("class.MySQL.php");// Cria Obejto$mySQL = new MySQL;// Executa uma query$result = $mySQL->sql("SELECT * FROM amigos WHERE amigo_legal = '1'");// Exibe informaçõeswhile ($dados = mysql_fetch_array($result)){	echo $dados["nome"];}?>

class.MySQL.php

<?php/** Classe de Conexao com MySQL* =====================* por Felipe Rezende * =====================* Descricao: Classe que* que realiza conexao com o banco* de dados. */// verificacao de seguranca$checkurl = $_SERVER["PHP_SELF"];if (eregi("class.MySQL.php", "$checkurl")) {	header ("Location: ../index.php");}class MySQL {	// edite aqui	var $host = "localhost";	var $user = "root";	var $pass = "";	var $db   = "";	// nao edite as vars abaixo	var $query;	var $link;	var $result;		/**	* @return MySQL	* @desc Construtor da classe MySQL.	*/	function MySQL(){	}	/**	* @return void	* @desc Método que Conecta ao Servidor e seleciona Banco de Dados.	*/	function connect(){		$this->link = mysql_connect($this->host,$this->user,$this->pass);		if(!$this->link){			echo "Erro na Conexão.<br>"				."<b>MySQL retornou: </b> ".mysql_error()."<br>";			die();		} elseif (!mysql_select_db($this->db,$this->link)){			echo "Erro na seleção do Banco de Dados.<br>"				."<b>MySQL retornou: </b> ".mysql_error()."<br>";			die();		}	}	/**	* @return Resultado	* @param String $query	* @desc Recebe query SQL, executa e retorna resultado, se houver erro retorna 0.	*/	function sql($query){		$this->connect();		$this->query = $query;		if($this->result=mysql_query($this->query)){			$this->disconnect();			return $this->result;		} else {			die("Ocorreu um erro ao executar a Query SQL abaixo:<br>$query<<br><br><b>MySQL Retornou: ".mysql_error()."<b>");			$this->disconnect();		}			}	/**	* @return mysql_close	* @desc Desconecta do servidor	*/	function disconnect(){		return mysql_close($this->link);	}}?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Felipe,

 

Gostei muito da sua classe!

Bem simples a forma de chamar!!!

 

Mas fiquei com uma dúvida:

 

Oq essa verificação faz?

 

// verificacao de seguranca$checkurl = $_SERVER["PHP_SELF"];if (eregi("class.MySQL.php", "$checkurl")) {	header ("Location: ../index.php");}

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma dúvida.

nessa linha:

mysql_connect($this->host,$this->user,$this->pass);
gostaria de saber se é através desse $this->host que você esta pegando o valor da variável $host.

 

Você poderia me esplicar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim é $this->variavel você esta pegando o valor da propria variavel

 

só um detalhe pessoal, essa classe nao tem sentido algum e oop nao ajudou em nada, como seu sempre falo criar uma classe nao é só jogar as funções dentro de class{} e achar que esta criando uma classe

 

outra coisa tbm é que no PHP5 nao se usa mais "var", ela esta obsoleta

o que se deve usar agora é visibilidade, e o legal da classe é fazer tudo em classe, e nao classe e estruturada junto

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma outra dúvida:

o que se deve usar agora é visibilidade, e o legal da classe é fazer tudo em classe, e nao classe e estruturada junto

a pergunta é meio besta mas é a minha dúvida.

como assim fazer tudo em classe, e não em classe e estruturada junto?

você esta se referindo a estruturada esse monte de ifs e elses?

Compartilhar este post


Link para o post
Compartilhar em outros sites

siim, e tb aos echos no meio dos métodos .... a forma que esta classe foi desenvolvida esta totalmente incorreta ...a cada consulta, ele se conecta com o banco, um método disconnect ... não ta muito legal isso ae nao ... não precisa disso

Compartilhar este post


Link para o post
Compartilhar em outros sites

siim, e tb aos echos no meio dos métodos .... a forma que esta classe foi desenvolvida esta totalmente incorreta ...

a cada consulta, ele se conecta com o banco, um método disconnect ... não ta muito legal isso ae nao ... não precisa disso

Void você tem uma classe mysql que você use ai pra nos mostrar ?

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.