Salve a tutti,
non mi ritengo un gran programmatore, ma solitamente riesco sempre a cavarmela con l'aiuto di Google e un pizzico di intuizione, ma da due giorni mi trovo davanti ad un problema di cui non riesco ad afferrare la vera natura.

Ho strutturato un sito in modo che ci siano due classi che contengono tutti i metodi necessari all'amministrazione dei contenuti visuali (immagini) e di testo del mio sito, e del loro passaggio fra database e pagina. La parte grafica usa queste classi per recepire i dati, mentre queste due classi si appoggiano ad una classe che ho scritto per gestire il mero collegamento con mysql.

Il problema che sto riscontrando quando vado a cercare di eseguire le pagine è il seguente:
Fatal error: Call to a member function query() on a non-object in [..]monicacecchin/data/class/tele.php on line 155

normalmente cercherei di capire perchè php è convinto che l'oggetto che gli passo non sia effettivamente un oggetto, ma essendo una variabile dichiarata all'inizio della classe, che usano altri metodi prima della riga 155 mi domando: cosa c'è di diverso?
Mi da lo stesso errore in entrambe le classi, e non riesco a capire il perchè.

Nel caso della classe teleTesti (in basso) lo stesso paramentro è utilizzato in dunzioni diverse, ma è nella seconda funzione a generare errore. (param: $dbLink)

Allego codice della classe mysql e di quella più breve delle due, vi ringrazio immensamente per il tempo che dedicherete e per le risposte che mi darete! grazie ancora!
Gino


Codice PHP:
   class MysqlClass
   
{
      
//Parametri per la connessione al database
      
private $nomehost;
      private 
$nomeuser;
      private 
$password;
      private 
$nomedb;
      private 
$mysqli;
      
//variabile di controllo delle connessioni attive
      
private $attiva;
      private 
$arry;
      
      public function 
__construct()
      {
          
$attiva false;
          
$nomehost $GLOBALS['host'];
          
$nomeuser $GLOBALS['user'];
            
$password $GLOBALS['pswd'];
            
$nomedb $GLOBALS['db'];
          
$mysqli = new mysqli($nomehost$nomeuser$password$nomedb);
          
$this->connetti();
      }
      
//funzione di connessione
      
private function connetti()
      {
          if (
mysqli_connect_errno()) {
           
// notifica in caso di errore
                
echo "Errore in connessione al DBMS: ".mysqli_connect_error();
           
// interruzione delle esecuzioni i caso di errore
                    
exit();
          }
          
          return 
$this->attiva;
      }
      
//funzione di disconnessione
      
public function disconnetti()
      {
          if(
$this->attiva)
          {
              if(
$mysqli->close())
              {
                  
$this->attiva false;
                  return 
true;
              }
          }
          return 
false;
      }
      
//Passaggio della variabile di connessione
      
public function var_con()
      {
          if(
$this->attiva)
          {
              return 
$connessione;
          }
          return 
false;
      }
      public function 
fetch()
      {
           
$result $this->arry->fetch_array(MySQL_BOTH);
           return 
$result;
      }
      
//funzione query
      
public function query($query$fetch)
      {
          
$this->arry $mysqli->query($query) or die("Error: q: ".$query." \./ ".$mysqli->sqlstate);
          if(
$fetch
          {
              
$result=$this->fetch(); 
              return 
$result;
          }
          return 
false;
      }  
   } 

Codice PHP:

class teleTesti
{
    private 
$dbLink;
    private 
$data;
    
    public function 
__construct()
    {
        
$dbLink = new MysqlClass();
    }
    
    
    public function 
editTesti($id$section$lang$text)
    {
        
$dbLink->query("UPDATE tele SET $lang=$text WHERE section=$section LIMIT 1"false);
        return 
true;
    }
    
    public function 
listTesti($section$language)
    {
        
$data=$dbLink->query("SELECT $language FROM testi WHERE section='$section' LIMIT 1",true);
        return 
$data;
    }
    
    public function 
addLang($lang)
    {
        
$dbLink->query("ALTER TABLE `testi` ADD `$lang` TEXT NOT NULL");
    }