Perche non mi da errore su num_rows?

Codice PHP:
class database{

    public 
$host="localhost";
    public 
$user="root";
    public 
$password="sim31gia08";
    public 
$db="concadoro";
    public 
$dbcomm;
    public 
$result;
    
    function 
connect(){
        
$this->dbcomm=mysqli_connect($this->host,$this->user,$this->password) or die (mysqli_error());
        
mysqli_select_db($this->dbcomm,$this->db) or die (mysqli_error());
    }
    
    function 
query($query){
        
$this->result=mysqli_query($this->dbcomm,$query);
        return 
$this->result;
    }
    
    function 
disconnect(){
        
mysqli_close($this->dbcomm);
    }
}

$database=new database;
$database->connect();

$sql="UPDATE cart SET Quantita=Quantita + '$quantita' WHERE IDShop='$idshop' AND IDarticolo='$idarticolo'";
$query=$database->query($sql);
if(
$query->num_rows==0){
    
$sql="INSERT INTO cart (IDShop, IDarticolo, Quantita) VALUES ('$idshop','$idarticolo','$quantita')";
    if(!
$database->query($sql)){
        
$response="Errore nell'aggiungere l'articolo al carrello, riprova.";
        
$error=true;
    }else{
        
$response="Articolo aggiunto al carrello.";
    }
}else{
    
$response="É stata aggiunta la quantita a questo articolo.";

Mi da errore trying to property on non-object...