Originariamente inviato da Dirk Pitt
Ho questa insert:
Codice PHP:
$query_insert "INSERT INTO d_utente (data_iscriz, username, password, session, nome, cognome, email, email_public, sex, data_nascita, nazione, localita, nome_blog, url_blog, url_feed, status) VALUES ('" $data_iscriz "', '" $username_reg "', '" $password_reg "', '" $session "', '" $nome "', '" $cognome "', '" $email "', '" $email_public "', '" $sex "', '" $data_nascita "', '" $nazione "', '" $localita "', '" $blog_ttl "', '" $blog_url "', '" $blog_rss "', '" $status "')"
che mi restituisce il maledetto errore syntax error, unexpected T_STRING. Errore che però non riesco a trovare.

Qualcuno di voi ha la vista migliore della mia?

Thanks
In quale riga si verifica l'errore? Nella riga della query?
Può darsi anche che l'errore si trovi prima della riga indicata, per esempio una parentesi o delle virgolette non chiuse.

Innanzitutto ti consiglio di verticalizzare il codice, è più facile da seguire per la vista.
Specialmente se ci sono parti che si ripetono e creano un'ancora visiva.
E' il motivo per cui, con il sopravvento dei widescreen LCD, la maggior parte dei siti internet negli ultimi 4-5 anni ha rivalutato i layout a larghezza fissa, 800-1000 pixel al massimo.

Ti consiglio di verificare il contenuto delle variabili.
Io passerei tutte le stringhe a mysql_escape_string():

Codice PHP:
$query_insert "INSERT INTO d_utente (data_iscriz, username, password, session, nome, cognome, email, email_public, sex, data_nascita, nazione, localita, nome_blog, url_blog, url_feed, status)
VALUES (
     '"
.mysql_escape_string($data_iscriz)."',
     '"
.mysql_escape_string($username_reg)."',
     '"
.mysql_escape_string($password_reg)."',
     '"
.mysql_escape_string($session)."',
     '"
.mysql_escape_string($nome)."',
     '"
.mysql_escape_string($cognome)."',
     '"
.mysql_escape_string($email)."',
     '"
.mysql_escape_string($email_public)."',
     '"
.mysql_escape_string($sex)."',
     '"
.mysql_escape_string($data_nascita)."',
     '"
.mysql_escape_string($nazione)."',
     '"
.mysql_escape_string($localita)."',
     '"
.mysql_escape_string($blog_ttl)."',
     '"
.mysql_escape_string($blog_url)."',
     '"
.mysql_escape_string($blog_rss)."',
     '"
.mysql_escape_string($status)."'
)"

In questo modo hai anche un'indicazione di errore più esplicativa, in quanto la riga indicata dal parser definisce la causa in modo più isolato.

E' chiaro che sui campi che non sono stringhe è inutile passarcela, quindi elimina la funzione.
Secondo me così risolverai.