Solved

how to send an errorlog file and error email

Posted on 2008-06-17
5
293 Views
Last Modified: 2012-06-22
PHP

If example my i cannot connect to database and i want this error message insert into a log file and send as error email notification how?

say i got this

 $dbLink = mysql_connect(ip, username,password);
  if(!$dbLink)   die("Could not connect to database. " . mysql_error());
 
if say the username is incorrect that mean could not connect to database
how can i send this error message to log file and an email?
0
Comment
Question by:firekiller15
  • 3
  • 2
5 Comments
 
LVL 10

Accepted Solution

by:
Khanh Doan earned 250 total points
ID: 21810074
From PHP Manual :
<?php

// Send notification through the server log if we can not

// connect to the database.

if (!Ora_Logon($username, $password)) {

    error_log("Oracle database not available!", 0);

}
 

// Notify administrator by email if we run out of FOO

if (!($foo = allocate_new_foo())) {

    error_log("Big trouble, we're all out of FOOs!", 1,

               "operator@example.com");

}
 

// another way to call error_log():

error_log("You messed up!", 3, "/var/tmp/my-errors.log");

?>

Open in new window

0
 
LVL 10

Expert Comment

by:Khanh Doan
ID: 21810080
You can check more at http://us.php.net/error_log

goodluck.
Bonmat86.
0
 

Author Comment

by:firekiller15
ID: 21810485
if i want to send log file by email where should i put the extra_headers parameter
0
 

Author Comment

by:firekiller15
ID: 21810565
why no matter it has error or not it will create error file it self
0
 
LVL 10

Expert Comment

by:Khanh Doan
ID: 21810709
I found this script at php manual
I think you can base at it to make ur email report.
Goodluck
Bonmat86.
<?php
 

function myErrorHandler($errno, $errstr, $errfile, $errline){

    switch ($errno) {

    case E_USER_ERROR:

        if ($errstr == "(SQL)"){

            // handling an sql error

            echo "<b>SQL Error</b> [$errno] " . SQLMESSAGE . "<br />\n";

            echo "Query : " . SQLQUERY . "<br />\n";

            echo "On line " . SQLERRORLINE . " in file " . SQLERRORFILE . " ";

            echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";

            echo "Aborting...<br />\n";

        } else {

            echo "<b>My ERROR</b> [$errno] $errstr<br />\n";

            echo "  Fatal error on line $errline in file $errfile";

            echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";

            echo "Aborting...<br />\n";

        }

        exit(1);

        break;
 

    case E_USER_WARNING:

    case E_USER_NOTICE:

    }

    /* Don't execute PHP internal error handler */

    return true;

}
 

// function to test the error handling
 

function sqlerrorhandler($ERROR, $QUERY, $PHPFILE, $LINE){

    define("SQLQUERY", $QUERY);

    define("SQLMESSAGE", $ERROR);

    define("SQLERRORLINE", $LINE);

    define("SQLERRORFILE", $PHPFILE);

    trigger_error("(SQL)", E_USER_ERROR);

}
 

set_error_handler("myErrorHandler");
 

// trigger an sql error

$query = "SELECT * FROM tbl LIMIT 1";

$sql = @mysql_query($query)

    or sqlerrorhandler("(".mysql_errno().") ".mysql_error(), $query, $_SERVER['PHP_SELF'], __LINE__);

   
 

?>

Open in new window

0

Featured Post

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

Suggested Solutions

Author Note: Since this E-E article was originally written, years ago, formal testing has come into common use in the world of PHP.  PHPUnit (http://en.wikipedia.org/wiki/PHPUnit) and similar technologies have enjoyed wide adoption, making it possib…
This article discusses four methods for overlaying images in a container on a web page
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

706 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now