Ciao a tutti,
ho un array restituito da un metodo della classe DB che esegue una query e ne ritorna l'array con il metodo mysqli::fetch_array();

Ho il problema che dopo aver instanziato la classe e richiamato il metodo e usando un ciclo for each per stampare il risultato ottengo un warning: Illegal string offset.

Struttura e unico record della tabella 'brands' interrogata:
codice:
id_brand: 1 (INT - PK -AI)
description: sony tencologia (VARCHAR 255)
firm: Sony (VARCHAR 255)
Codice PHP:
public function getBrands($id=NULL){
            if(
$id == NULL$query "SELECT * FROM ".$this->brands_t;
            else 
$query "SELECT * FROM".$this->brands_t." WHERE id_brand=".$id;
            
$mysqli $this->openDB();
            
$result $mysqli->query($query);
            if(
$result) return $data=$result->fetch_array();
            else die(
"Errormessage: ".$mysqli->error."
"
);
            
$this->closeDB($mysqli);

Codice che restituisce warning, escluso dal contesto:
Codice PHP:
 require_once("include/database.class.php");
    
    
$DB = new DB();
    
    
$data $DB->getBrands();
    
    echo 
"var_dump: ";
    
var_dump($data);
    echo 
"
"
;
        
    foreach(
$data as $data){
        echo 
$data['id_brand']." - ".$data['firm']."
"
;
        
    } 
Pagina con warning restituita:
codice:
var_dump: array(6) { [0]=> string(1) "1" ["id_brand"]=> string(1) "1" [1]=> string(15) "sony tencologia" ["description"]=> string(15) "sony tencologia" [2]=> string(4) "Sony" ["firm"]=> string(4) "Sony" } 

Warning: Illegal string offset 'id_brand' in C:\Program Files (x86)\EasyPHP-12.1\www\mysite_v01\prova2.php on line 14

Warning: Illegal string offset 'firm' in C:\Program Files (x86)\EasyPHP-12.1\www\mysite_v01\prova2.php on line 14
1 - 1

Warning: Illegal string offset 'id_brand' in C:\Program Files (x86)\EasyPHP-12.1\www\mysite_v01\prova2.php on line 14

Warning: Illegal string offset 'firm' in C:\Program Files (x86)\EasyPHP-12.1\www\mysite_v01\prova2.php on line 14
1 - 1

Warning: Illegal string offset 'id_brand' in C:\Program Files (x86)\EasyPHP-12.1\www\mysite_v01\prova2.php on line 14

Warning: Illegal string offset 'firm' in C:\Program Files (x86)\EasyPHP-12.1\www\mysite_v01\prova2.php on line 14
s - s

Warning: Illegal string offset 'id_brand' in C:\Program Files (x86)\EasyPHP-12.1\www\mysite_v01\prova2.php on line 14

Warning: Illegal string offset 'firm' in C:\Program Files (x86)\EasyPHP-12.1\www\mysite_v01\prova2.php on line 14
s - s

Warning: Illegal string offset 'id_brand' in C:\Program Files (x86)\EasyPHP-12.1\www\mysite_v01\prova2.php on line 14

Warning: Illegal string offset 'firm' in C:\Program Files (x86)\EasyPHP-12.1\www\mysite_v01\prova2.php on line 14
S - S

Warning: Illegal string offset 'id_brand' in C:\Program Files (x86)\EasyPHP-12.1\www\mysite_v01\prova2.php on line 14

Warning: Illegal string offset 'firm' in C:\Program Files (x86)\EasyPHP-12.1\www\mysite_v01\prova2.php on line 14
S - S
Come si vede il ciclo stampa qualcosa del risultato, ma non in modo corretto.

Uso il ciclo foreach per ottenere risultati allo stesso modo in altre pagine e non ho questo tipo di problema.

Suggerimenti?