Ho fatto una cosa cosi e vorrei che qualcuno dei più esperti mi dica se va bene o si può semplificare:
codice:
$sql = "SELECT * FROM categories_description WHERE categories_name = '$Category_output'";
$res = mysql_query($sql);

if (mysql_num_rows($res)) {

} else {

mysql_query("INSERT INTO categories_description 
(categories_id, language_id, categories_name) VALUES('$aumento_cat', '4', '$Category_output' ) ") 
or die(mysql_error()); 
 
mysql_query("INSERT INTO categories_description 
(categories_id, language_id, categories_name) VALUES('$aumento_cat', '1', '' ) ") 
or die(mysql_error());  

mysql_query("INSERT INTO categories 
(categories_id) VALUES('$aumento_cat') ") 
or die(mysql_error());  

}
A questo punto vi domanderete il perché di cosi tanti INSERT. In effetti il secondo serve ad inserire un campo che deve avere identico id del primo ($aumento_cat), il secondo valore "1" ed il terzo deve essere vuoto.

Avevo pensato di fare qualcosa, una sorta di loop non appena è stato elaborato il secondo INSERT ovvero dopo che la categoria è stata inserita. Inserita la categoria ci vorrebbe qualcosa che inserisca tutte le sottocategorie corrispondenti. Si può fare?