Con il codice che hai postato farei cosi

Codice PHP:
<?php 
private $compare = array(
        
"uguale a" => "=",
        
"diverso da" => "NOT LIKE",
        
"minore di" => "<",
        
"maggiore di" => ">",
       
"minore di o uguale a" => "<=",
        
"maggiore di o uguale a" => ">=",
        
"contiene" => 'LIKE',
        
"inizia con" => "ILIKE"
    "finisce per" 
=> "FLIKE"
        
);
echo 
"<select name=voce$var size=1>";
            
//le varie option
            
foreach ($compare as $num => $val) {
                echo 
"<option value=$val>$num</option>";
            }
            echo 
"</select>";  
 
?>
 
 <?php 
 
if (isset($_POST['input1'])) {
            if (
$_POST['comparazione1'] == 'LIKE') {
                
$query .= " AND " $this->voce1 " " $this->comparazione1 " '%$this->input1%'";                          
      } else{
         if (
$_POST['comparazione1'] == 'ILIKE') {
          
$query .= " AND " $this->voce1 " " " LIKE " " '%$this->input1'"
        } else {
           if (
$_POST['comparazione1'] == 'FLIKE') {
            
$query .= " AND " $this->voce1 " " " LIKE "" '$this->input1%'"
          } else {          
                   
$query .= " AND " $this->voce1 " " $this->comparazione1 " '$this->input1'";
         }
        }
            }  
      }  
 
?>
Pero' se dovessi fare una cosa simile farei altimenti. Posso sbagliare, ma il tuo codice mi sembra vulnerabile alla sql injection.