Grazie, il codice funziona, però nella tabella del database ogni qual volta ripeto la funzione m'inserisce ulteriori valori che non dovrebbe inserire, forse mi spiego meglio postando il codice:

Codice PHP:
$q "SELECT * FROM products_options_values WHERE products_options_values_name = '".$params['Variante1']."'"
$s mysql_query($q) or die (mysql_error()); 
while (
$row mysql_fetch_array($s)){       
$variante $row['products_options_values_name']; 
}  
$array $params['Variante1'];   
$var1=count($array);  
$res false
 for(
$i=0;$i<$var1;$i++) 

  if (
$array[$i]==$variante)     

res=true;     

}  
if(
$res == true) {  
$vari setstockvar($params['Variante1']);     
$pid $params['Model'];  
$query "INSERT INTO products_attributes (products_attributes_id, products_id, options_id, options_values_id, product_attribute_is_free, attributes_discounted, attributes_price_base_included) VALUES ('', '$pid', '$vari', '1', '1', '1', '1')"
$insert mysql_query($query);    
if(!
$insert) die(mysql_error());   
}else{ 
$vari $params['Variante1'];    
$query "INSERT INTO products_options_values (products_options_values_id, language_id, products_options_values_name, products_options_values_sort_order) VALUES ('', '1', '$vari', '1')"
$insert mysql_query($query);    
if(!
$insert) die(mysql_error());   

Allora nella variabile $params['Variante1'] sono contenuti i seguenti valori:
XS, S, M, L, XL
Facendo il ciclo for controlla se questi valori sono già contenuti nel database, e funziona bene, però se inserisco un nuovo prodotto e riesegue il ciclo, mi inserisce 2 nuovi valori nel database anche se esistenti, quali: XS e XL.

Come mai?

Spero di essere abbastanza chiaro.

Grazie