Penso imho :
1) che la select iniziale sia inutile .
2) per l'update multiplo su più tabelle devi controllare che mysql sia almeno versione 4.0.2.
3) meglio qualificare (sempre)la tabella di appartenenza nella clausola SET (es: a_login.nome, a_anagrafica.categoria, a_preferenze_ana.come_ci_hai_conosciuto)
3) non avendo mai avuto la necessità di effettuare tale operazione prova la seguente query......e chiunque ci sia lassù ce la mondi b(u)ona.
$sql = " UPDATE a_login, a_anagrafica, a_preferenze_ana
SET a_login.nome='$nome', a_anagrafica.categoria='$categoria', a_preferenze_ana.come_ci_hai_conosciuto='$come_ci_ hai_conosciuto'
WHERE a_anagrafica.id_anagrafica = a_login.id_anagrafica
AND a_login.id_login = a_preferenze_ana.id_login
AND a_login.id_login = '$utente'";
mysql_query($sql,$conn) or die (mysql_error());
![]()