Jump to content
Fórum Script Brasil
  • 0

Classe De Conexao Com Mysql


Beraldo
 Share

Question

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 to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      151k
    • Total Posts
      649.1k
×
×
  • Create New...