SQLite Error Handler
<?php

function sqlite_error_hadler($errno$errstr$errfile$errline$args)
{
    
// Open bugs database
    
$err_db = new sqlite_db("php_errors");

    
$error_hash md5($errstr$errfile$errline$errno);

    
// check if previous errors of the same nature, had already occured,
    // if they did update the error counter.
    
$res $err_db->query("UPDATE bugs_db SET 
            error_counter=error_counter+1 
            WHERE b_hash='{error_hash}'"
);

    
// we got a hit, nothing more to do
    
if ($res->changes()) {
        
// close bug db
        
unset($err_db);
        return;
    }

    
// prepare data for sql insertion
    
$errstr sqlite_escape_string($errstr);
    
$errfile sqlite_escape_string($errfile);
    
$errline = (int) $errline;
    
$errno = (int) $errno;
    
$args sqlite_escape_string(implode(', '$args));

    
// Uh Oh, new error, let's log it.
    
$err_db->query("INSERT INTO bugs_db
        (b_hash, error_counter, b_errstr, 
        b_errfile, b_errline, b_errno, b_args)
        VALUES(
            '
{$error_hash}',
            1,
            '
{$errstr}',
            '
{$errfile}',
            
{$errline},
            
{$errno},
            '
{$args}'
        )"
);

    
// close bug db
    
unset($err_db);
}
?>