Ho un problema stranissimo, adesso vi elenco un momento tutte le parti del codice:
[CLASSE MYSQL]
Codice PHP:
class db_driver
{
    var 
$dbInfo = array (
      
"sql_host"  =>  "localhost",
      
"sql_name"  =>  "",
      
"sql_user"  =>  "root",
      
"sql_pass"  =>  "",
      
"sql_type"  =>  "mysql",
      
"sql_port"  =>  "",
      
"tbl_prefix"    =>  "fmp_"
      
);

  
// > Creaiamo la funzione che ci passerà tutt le var
 /*function MySQL ($dbhost, $dbuser, $dbpass, $dbname)
 {

  $this->host = (string)   $dbhost;
  $this->dbuser = (string) $dbuser;
  $this->dbpass = (string) $dbpass;
  $this->dbname = (string) $dbname;
  $this->is_error = FALSE;
  $this->msg_error = '';  

 //return is_resource( $this->Connect() ) ? $this->Connect() : null;
 
}*/

//> Creiamo la funzione per connetterci
    
function Connect()
    {
  
// > Connessione secondo i parametri passatoci da host,fbuser e dbpass
  
$this->conn mysql_connect($this->dbInfo['sql_host'],
          
$this->dbInfo['sql_user'],
            
$this->dbInfo['sql_pass']
        );
      
// > Faccimo un if per controllare se la connessione e avvenuta
        // > Se $this-> restituisce (is_resource) (TRUE)
    
if( is_resource($this->conn) )
      {  
      
// > ... 
        // >  Selezioniamo il db
    
$this->selectdb mysql_select_db(
                
$this->dbInfo['sql_name'] ,
              
$this->conn
              
);
      
// > Controlliamo che il select_db sa avvenuto
      
if (! $this->selectdb)
    {
     
// > Se ci sono errori settiamo la var a True
        
$this->is_error TRUE;
        
// > e settiamo la variabile col tipo di errore
        
$this->error_type 2;
        
$this->db_error_msg $this->dbInfo['sql_name']."not exists";
  
      }   
 
      }  
  
// > altrimenti
  
else
      {
      
//Settiamo gli errori
    // > Errore = True (Vero)
    
$this->is_error TRUE;
    
// > e settiamo la variabile col tipo di errore
    
$this->error_type 1;
    
$this->db_error_msg mysql_error();
        return(
0);
      }  
        
// > effetuiamo il return di $this->conn
    
return $this->conn;
    return 
$this->selectdb;

    }

  
    
// > Creaiamo la funzione per la query
    
function query($query NULL)
    {
  
// > Settiamo il valore della query
  
$this->query = (string) $query;
  
$this->Connect();
   
// > Controlliamo ancora una volta se la connessione è effetuata
   
if ( is_resource$this->Connect() ) )
    {  
      
// > Se al connessione e effettuata, Lanciamo la query
      
$this->query mysql_query($this->query,$this->Connect());
     
// > Controlliamo se la query e avvenuta
        
if (! is_resource($this->query))
        {
     
// > Se ci sono errori settiamo la var a True
        
$this->is_error TRUE;
        
// > e settiamo la variabile col tipo di errore
        
$this->error_type 3;
        
$this->db_error_msg mysql_error();
    }   
      }
      
// > Ritorniamo all'if della connessione prima di effetuare la query
     // > se la query nn è avvenuta
  
else
      {
   
// > setta l'errore a TRUE
    
$this->is_error TRUE;
    
// > e settiamo la variabile col tipo di errore
    
$this->error_type 1;
    
$this->db_error_msg mysql_error();
    }  
    
// > Mostriamo la query
        
return $this->query;
    
    }
    
// > Funzione per il fetch_array
    
function fetcharray($fetcharray NULL)
    {
   
// > controlliamo se al moemnto del lancio del fetcharray
    // > puo essere lanciato
    
  
if (!is_resource($fetcharray)) 
  {
            
// > Se no ...
        // > Settiamo l'errore a TRUE
     
$this->is_error TRUE;
     
// > e settiamo la variabile col tipo di errore
        
$this->error_type 4;
    
$this->db_error_msg mysql_error();
     return 
FALSE;
       }
          
// >Diciariamo la var fetcharray con il suo contenuto
          
$this->fetcharray $fetcharray;

          
// > Facciamo il solito controllo sulla connessione  
   
if ( is_resource$this->Connect() ) )
   {  
          
// > Se la connessione e avvenuta, allora facciamo il fetcharray  
    
$this->fetcharray mysql_fetch_array($this->fetcharray);
        
// > Controlliamo se il fetcharray e stato effettuato con successo
    
if (! is_resource($this->fetcharray))
   {
    
// > Se no, settiamo l'errore a True
    
$this->is_error TRUE;
    
// > e settiamo la variabile col tipo di errore
    
$this->error_type 4;
    
$this->db_error_msg mysql_error();
  }   
  }
  
// > Se la connessione nn è avvenuta
      // > allora...
  
else
  {
      
// > Settami l'errore a True
     
$this->is_error TRUE;
     
// > e settiamo la variabile col tipo di errore
     
$this->error_type 1;
     
$this->db_error_msg mysql_error();
  }  
     
// > Mostriamo la var di getcharray 
    
return $this->fetcharray;
    
    }
        
// > Funzione per la chiusura della connessione
          // > Dichiariamo la funzione close 
    
function close () 
    {
  
// > Facciamo il solito controllo sulla connessione
  
if ( is_resource$this->Connect() ) )
      {    
         
// > se la connessione e avvenuta, Chiudiamola
        
$this->dbclose mysql_close($this->Connect());     
         
// > altrimenti
    // > Se la connessione non è avvenuta
        
}
  else
  {
   
// > setta l'errore a TRUE
    
$this->is_error TRUE;
    
// > e settiamo la variabile col tipo di errore
    
$this->error_type 1;
    
$this->db_error_msg mysql_error();
  }
  return 
$this->dbclose;
    }
    function 
db_error()
    {
        switch(
$this->error_type)
  {
        
      case 
1
    die (
"<html>\n<head>\n<title>Portal Error</title>\n</head>\n<body>\n<font face=verdana size=1.5>[b]DB_ERROR:[/b]
\nConnessione fallita/Connection Failed:
<font color=red>[b]\n"
.$this->db_error_msg."[/b]</font></font>\n</body>\n</html>");
      break;
  
      case 
2
          die (
"<html>\n<head>\n<title>Portal Error</title>\n</head>\n<body>\n<font face=verdana size=1.5>[b]DB_ERROR:[/b]
\nSelezione del database Fallita/Database selection Failed: 
\n<font color=red>[b]"
.$this->db_error_msg."[/b]</font></font>\n</body>\n</html>");
      break;
      
      case 
3:  
          die (
"<html>\n<head>\n<title>Portal Error</title>\n</head>\n<body>\n<font face=verdana size=1.5>[b]DB_ERROR:[/b]
\nQuery Fallita/Failed Query: 
\n<font color=red>[b]"
.$this->db_error_msg."[/b]</font></font>\n</body>\n</html>");
      break;
  
      default:
    
$this->error 'N';
      break;
  }
    }
  
}
?> 
[INDEX FILE]
Codice PHP:
// > Set Path
define('SYSTEM_FOLDER',"System");
define ('DRIVERS_FOLDER',SYSTEM_FOLDER.'/driver/');

// > Definizione degli errori degli errori

//error_reporting  (E_ERROR | E_WARNING | E_PARSE);
define ('GLOBAL_ERROR',0);

// > Definizione dei componenti di default

define ('STARTING_MODULES',"");
define ('STARTIND_SYSTEM',1);

// > Require global configuration file

require("config.php");

//===========================================================================
// DEBUG CLASS
//===========================================================================
class Debug
{
   var 
$starttime;
   var 
$totaltime;
    
    function 
sTIMER()
    {
        
$gtimer microtime ();
        
$gtimer explode (' '$gtimer);
        
$gtimer $gtimer[1] + $gtimer[0];
  
$gtimer $gtimer/1000000;
        
$this->starttime $gtimer;
    }
    function 
eTIMER()
    {
        
        
$gtimer microtime ();
        
$gtimer explode (' '$gtimer);
        
$gtimer $gtimer[1] + $gtimer[0];
        
$endtime $gtimer;
        
$totaltime round (($endtime $this->starttime), 5);
        return 
$totaltime;
    }
}

class 
information
{
    var 
$version          =          "0.9";
}

require 
DRIVERS_FOLDER."class.db_driver.php";
$DBS = new db_driver();

// > Settiamo l'array $dbInfo della classe db_drive per la configurazione

$DBS->dbInfo['sql_type']  =  $DB['type'];
$DBS->dbInfo['sql_host']  =  $DB['host'];
$DBS->dbInfo['sql_user']  =  $DB['user'];
$DBS->dbInfo['sql_pass']  =  $DB['pass'];
$DBS->dbInfo['sql_name']  =  $DB['name'];
$DBS->dbInfo['sql_host']  =  $DB['host'];
$DBS->dbInfo['tbl_prefix']  =  $DB['tbl_prefix'];

// Verifichiamo la presenza di errori nella connessione
 // se vi sono errori con un die interrompiamo lo script
 
 
$DBS->db_error();
 
//===========================================================================
// Template Class
//===========================================================================

require (SYSTEM_FOLDER."/db_template.class.php");
$PROVA = new db_template();
$PROVA->tpl_load(); 
[db_template.php (CLASSE CON PROBLEMA)]
Codice PHP:
class db_template extends db_driver
{

    var 
$templateInfo = array (
          
"tpl_id"   => '',
          
"tpl_name" => ''
         
);
         
    function 
tpl_load() 
    {
     echo 
"<pre>";print_r($this);
  
$this->query("SELECT * from fmp_template_skin");
  
$this->db_error();
    }

Il problema sta che nell'ultima classe quella del tempate (funzione tpl_load()) qiando lancio la query se sbaglio il nome della tabella mi esce


db_template Object
(
[dbInfo] => Array
(
[sql_host] => localhost
[sql_name] =>
[sql_user] => root
[sql_pass] =>
[sql_type] => mysql
[sql_port] =>
[tbl_prefix] => fmp_
)

[templateInfo] => Array
(
[tpl_id] =>
[tpl_name] =>
)

)





DB_ERROR:
Query Fallita/Failed Query:
Table 'frontmedia.fmdp_template_skin' doesn't exist
Se la metto giusto mi dice che nn ho selezionato il db

[QUOTE]
db_template Object
(
[dbInfo] => Array
(
[sql_host] => localhost
[sql_name] =>
[sql_user] => root
[sql_pass] =>
[sql_type] => mysql
[sql_port] =>
[tbl_prefix] => fmp_
)

[templateInfo] => Array
(
[tpl_id] =>
[tpl_name] =>
)

)





DB_ERROR:
Selezione del database Fallita/Database selection Failed:
not exists




se la lancio nel file di root (index.php) dopo aver lanciato la classe invece funge:
Codice PHP:
require DRIVERS_FOLDER."class.db_driver.php";
$DBS = new db_driver();

// > Settiamo l'array $dbInfo della classe db_drive per la configurazione

$DBS->dbInfo['sql_type']  =  $DB['type'];
$DBS->dbInfo['sql_host']  =  $DB['host'];
$DBS->dbInfo['sql_user']  =  $DB['user'];
$DBS->dbInfo['sql_pass']  =  $DB['pass'];
$DBS->dbInfo['sql_name']  =  $DB['name'];
$DBS->dbInfo['sql_host']  =  $DB['host'];
$DBS->dbInfo['tbl_prefix']  =  $DB['tbl_prefix'];

$DBS->query("...");

// Verifichiamo la presenza di errori nella connessione
 // se vi sono errori con un die interrompiamo lo script
 
 
$DBS->db_error(); 
perke questo ?