<?
//
// == Log db erros ============================================================
// Autor: Tripa Seca (fosfozol@yahoo.com.br)
//
// Vers�o: v0.1 @ 24/Fev/2002
//         Desenvolvimento do script em si.
//
// Oque � isso?: Grave um arquivo log os erros de db do seu site.
//
// Copyright: GNU General Public License
//            Modifique a vontade para adaptar a sua necessidade.
// ============================================================================
//

function ts_dberror($url,$nome){
   // Configura��o
   $pf_email = 0;                            //Enviar e-mail de aviso (1)sim (0)n�o
   $pf_emailto = "webmaster@dominio.com.br"; //Especifique o email do administrador da p�gina
   $pf_redir = 0;                            //Redirecionar para uma p�gina de erro (1)sim (0)n�o, ESTE SCRIPT NECESSITA ESTAR ANTES DO <HTML> DO SITE
   $pf_redirto = "erros.htm";                //Especifique a p�gina de erro do seu site
   $pf_mensagem = 1;                         //Escreve um mensagem de erro, SETAR $PF_REDIR PARA 0(zero)
   $pf_path = "";                            //Espefifique o endere�o do arquivo log, A PASTA DEVE PERMITIR GRAVA��O E EXISTIR. Exemplo: teste/

   //N�o modifique daqui para baixo

   $br = "<br>\n";
   $f_nome = $pf_path."log_dberros.htm";

   if(!file_exists($f_nome)){ //Cria o .htm padr�o, esta etapa � realmente necess�ria
     $novohtm = "<html>\n";
     $novohtm .= "<head>\n";
     $novohtm .= "<title>Log dberros()</title>\n";
     $novohtm .= "<style type=\"text/css\">\n";
     $novohtm .= "<!--\n";
     $novohtm .= "body {  font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; color: #000000; background-color: #FFFFFF; white-space: nowrap}\n";
     $novohtm .= "-->\n";
     $novohtm .= "</style>\n";
     $novohtm .= "</head>\n";
     $novohtm .= "<body nowrap>\n";
     $novohtm .= "<b>Data | Erro na string | Endere&ccedil;o do erro | Erro do MySql</b><br><br>\n";
     $f_aberto = fopen($f_nome, "a+");
     $novohtmed = fputs($f_aberto, $novohtm);
     fclose($f_aberto);
   }

   $f_aberto = fopen($f_nome, "a+");
   $linha = "<b>".date("r")."</b> | Erro na $nome | <i>".$url."</i> | ".mysql_error().$br;
   $linhaed = fputs($f_aberto, $linha);
   fclose($f_aberto);

   if($pf_email == 1){
    mail($pf_emailto, "Erro de db no seu site", "Ocorreu um erro no banco de dados do seu site,\n consulte o log: $f_nome ");
   }
   if(($pf_redir == 1) and ($pf_mensagem == 1)) $pf_mensagem = 0; //For�a configura��o REDIR ou MENSAGEM
   if(($pf_redir == 0) and ($pf_mensagem == 0)) $pf_mensagem = 1;

   if(($pf_redir == 1) and ($pf_mensagem == 0)){
      header("Location: $pf_redirto");exit;
   }
   elseif(($pf_redir == 0) and ($pf_mensagem == 1)){
      echo "Desculpe pelo transtorno,".$br;
      echo "ocorreu um erro na requis&atilde;o do banco de dados. O administrador do site ser&aacute; avisado automaticamente.".$br;
   }else{
     exit;
   }

}

// em qualquer movitam��o do db, use logo ap�s: " or die (ts_dberror($_ENV["REQUEST_URI"],mysql_error())); "
// exemplo:

require("db.php"); //conecte seu db aqui

$sqlAAA = "SELECT * FROM tabela WHERE `eu` LIKE 'sou' ANANDANDANADNAND `p�ssimo` LIKE 'no' ORDER BY `mysql`";
$sqlAAA_exe = mysql_query($sql) or die (ts_dberror($_ENV["REQUEST_URI"],'sqlAAA');
?>