Jump to content
MakeWebGames

Mysql Error Reports


Dragon Blade

Recommended Posts

So I have put this in my class_db_mysql.php -

 

function query_error(){
   global $userid,$db;
   $file = $_SERVER['REQUEST_URI'];
   if(!isset($_SESSION['error_event_sent'][$file])){
  mysql_query("INSERT INTO `mysql_errors` (`me_userid`, `error_msg`, `query_was`, `file`, `error_time`)
   VALUES('$userid', '".mysql_real_escape_string(mysql_error())."', '{$this->last_query}', '{$file}', unix_timestamp())");
   event_add(1, 'MySQL error logged, please check mysql_errors table in the database for more information.');
   $_SESSION['error_event_sent'][$file] = true;
 }  
 }

 

 

When ever I fail a query it does not report it.

 

My file...

 

<?php


if (!defined('MONO_ON'))
{
   exit;
}


function query_error(){
   global $userid,$db;
   $file = $_SERVER['REQUEST_URI'];
   if(!isset($_SESSION['error_event_sent'][$file])){
  mysql_query("INSERT INTO `mysql_errors` (`me_userid`, `error_msg`, `query_was`, `file`, `error_time`)
   VALUES('$userid', '".mysql_real_escape_string(mysql_error())."', '{$this->last_query}', '{$file}', unix_timestamp())");
   event_add(1, 'MySQL error logged, please check mysql_errors table in the database for more information.');
   $_SESSION['error_event_sent'][$file] = true;
 }  
 }


if (!function_exists('error_critical'))
{
   // Umm...
   die('<h1>Error</h1>' . 'Error handler not present');
}

if (!extension_loaded('mysql'))
{
   // dl doesn't work anymore, crash
   error_critical('Database connection failed',
           'MySQL extension not present but required', 'N/A',
           debug_backtrace(false));
}

class database
{
   var $host;
   var $user;
   var $pass;
   var $database;
   var $persistent = 0;
   var $last_query;
   var $result;
   var $connection_id;
   var $num_queries = 0;
   var $start_time;

   function configure($host, $user, $pass, $database, $persistent = 0)
   {
       $this->host = $host;
       $this->user = $user;
       $this->pass = $pass;
       $this->database = $database;
       $this->persistent = $persistent;
       return 1; //Success.
   }

   function connect()
   {
       if (!$this->host)
       {
           $this->host = "localhost";
       }
       if (!$this->user)
       {
           $this->user = "root";
       }
       if ($this->persistent)
       {
           $conn = mysql_pconnect($this->host, $this->user, $this->pass);
       }
       else
       {
           $conn =
                   mysql_connect($this->host, $this->user, $this->pass, true);
       }
       if ($conn === false)
       {
           error_critical('Database connection failed',
                   mysql_errno() . ': ' . mysql_error(),
                   'Attempted to connect to database on ' . $this->host,
                   debug_backtrace(false));
       }
       // @overridecharset mysql
       $this->connection_id = $conn;
       if (!mysql_select_db($this->database, $this->connection_id))
       {
           error_critical('Database connection failed',
                   mysql_errno($conn) . ': ' . mysql_error($conn),
                   'Attempted to select database: ' . $this->database,
                   debug_backtrace(false));
       }
       return $this->connection_id;
   }

   function disconnect()
   {
       if ($this->connection_id)
       {
           mysql_close($this->connection_id);
           $this->connection_id = 0;
           return 1;
       }
       else
       {
           return 0;
       }
   }

   function change_db($database)
   {
       if (!mysql_select_db($database, $this->connection_id))
       {
           error_critical('Database change failed',
                   mysql_errno($this->connection_id) . ': '
                           . mysql_error($this->connection_id),
                   'Attempted to select database: ' . $database,
                   debug_backtrace(false));
       }
       $this->database = $database;
   }

   function query($query)
   {
       $this->last_query = $query;
       $this->num_queries++;
       $this->result = mysql_query($this->last_query, $this->connection_id);
       if ($this->result === false)
       {
           error_critical('Query failed',
                   mysql_errno($this->connection_id) . ': '
                           . mysql_error($this->connection_id),
                   'Attempted to execute query: ' . nl2br($this->last_query),
                   debug_backtrace(false));
       }
       return $this->result;
   }


   function fetch_row($result = 0)
   {
       if (!$result)
       {
           $result = $this->result;
       }
       return mysql_fetch_assoc($result);
   }

   function num_rows($result = 0)
   {
       if (!$result)
       {
           $result = $this->result;
       }
       return mysql_num_rows($result);
   }

   function insert_id()
   {
       return mysql_insert_id($this->connection_id);
   }

   function fetch_single($result = 0)
   {
       if (!$result)
       {
           $result = $this->result;
       }
       return mysql_result($result, 0, 0);
   }

   function easy_insert($table, $data)
   {
       $query = "INSERT INTO `$table` (";
       $i = 0;
       foreach ($data as $k => $v)
       {
           $i++;
           if ($i > 1)
           {
               $query .= ", ";
           }
           $query .= $k;
       }
       $query .= ") VALUES(";
       $i = 0;
       foreach ($data as $k => $v)
       {
           $i++;
           if ($i > 1)
           {
               $query .= ", ";
           }
           $query .= "'" . $this->escape($v) . "'";
       }
       $query .= ")";
       return $this->query($query);
   }

    function query_error(){
   global $userid,$db;
   $file = $_SERVER['REQUEST_URI'];
   if(!isset($_SESSION['error_event_sent'][$file])){
  mysql_query("INSERT INTO `mysql_errors` (`me_userid`, `error_msg`, `query_was`, `file`, `error_time`)
   VALUES('$userid', '".mysql_real_escape_string(mysql_error())."', '{$this->last_query}', '{$file}', unix_timestamp())");
   event_add(1, 'MySQL error logged, please check mysql_errors table in the database for more information.');
   $_SESSION['error_event_sent'][$file] = true;
 }  
 }

   function escape($text)
   {
       return mysql_real_escape_string($text, $this->connection_id);
   }

   function affected_rows()
   {
       return mysql_affected_rows($this->connection_id);
   }

   function free_result($result)
   {
       return mysql_free_result($result);
   }

}


Link to comment
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   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.

×
×
  • Create New...