Ir para conteúdo
Fórum Script Brasil
  • 0

Classe De Conexao Com Mysql


Beraldo

Pergunta

Script postado por: Fabyo

Classe de conexao com mysql

debugger personalizado e mensagens preparadas,

Esse script foi feito para ser usado com o PHP5 e Mysql acima do 4.1

na opção $msg_erro = true; você pode deixar em false dai não vai aparecer a mensagem de erro e se deixar em true vai aparece a mensagem de erro é bom para debugger e ele mostra ate mensagens de erro na sintaxe SQL se a sintaxe basica SQL estiver certa aparece em azul se tiver errado aparece em vermelho exemplo: [selects * from tabela]

essa versao é +- um demo do que eu fiz para a empresa que eu trabalho pois aqui o debugger grava um log de erro e manda um email pro admin,com mais recursos

bom fica a ideia pra quem quiser complementar ele

conecta.php

<?php

class Conexao

{

var $obj = array ( "servidor" => "localhost" ,

"usuario" => "usuario" ,

"senha" => "senha" ,

"banco" => "banco"

);

var $conexao = "";

var $msg_erro = true;

function Abrir()

{

@$this->conexao = mysql_connect( $this->obj['servidor] ,

$this->obj['usuario'] ,

$this->obj['senha']

);

if ( mysql_errno() == 2005 and $this->msg_erro == 1 )

{

echo "Mysql_Error(2005) Servidor não foi encontrado <b>[".$this->obj["servidor"]."]</b>";

exit;

}

elseif ( mysql_errno() == 1045 and $this->msg_erro == 1 )

{

echo "Mysql_Error(1045) Nome ou Senha invalidos";

exit;

}

if ( mysql_errno() == 0 and $this->msg_erro == 1 )

{

if ( !mysql_select_db($this->obj["banco"], $this->conexao) )

{

echo "Mysql_Erro(1049) Banco <b>[".$this->obj["banco"]. "</b>] não foi encontrado";

exit;

}

}

}

function Fechar()

{

if ( isset($this->conexao ) )

{

return mysql_close($this->conexao);

}

}

}

class ComandoSql extends Conexao

{

function Executar($sql)

{

$this->Abrir();

$re = @mysql_query($sql);

$this->checa_query($sql);

$this->Fechar();

return $re;

}

function checa_query($sql)

{

if ( mysql_errno() == 1146 and $this->msg_erro == 1 )

{

$erro = mysql_error();

$arr = explode("'", $erro);

$tabela = explode(".", $arr[1]);

echo "Essa tabela <b>[ ".$tabela[1]." ]</b> não existe!";

exit();

}

if ( mysql_errno() == 1054 and $this->msg_erro == 1 )

{

echo "Existe algum campo com nome errado";

exit();

}

if ( mysql_errno() == 1064 and $this->msg_erro == 1 )

{

$msg = "Existe algum erro na sintaxe SQL<br />";

$sql = preg_replace(sql_regcase("/(select|insert|delete|drop table|alter table|from|where|limit|\*|order by|group by)/"),"<font color=\"blue\">\\1</font>",$sql);

echo "$msg [<font color=\"red\">$sql</font>]";

exit();

}

}

}

?>

modo de usar:

include "conecta.php"
$con = new ComandoSql();
$re = $con->Executar("select * from tabela");

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152.1k
    • Posts
      651.8k
×
×
  • Criar Novo...