Salve, vorrei chiedere un vostro aiuto riguardo uno strano errore che, sicuramente, è causato da una fesseria e molto probabilmente anche da un solo errore di battitura..Ma son talmente stanco che il cervello proprio non riesce ad individuare..

Queste sono le 3 funzioni:

Codice PHP:
public function inserisci_topic($forum,$titolo,$autore,$messaggio$ip)
    {
        if(isset(
$this->attiva))
        {
            
$data="SELECT CURRENT_TIMESTAMP()";
            
$query_data=mysql_query($data) or die(mysql_error());
            
$data_inserimento=mysql_fetch_row($query_data);
            
$inserisci_topic="INSERT INTO db_forum_topic VALUES ('','".$forum."','".$titolo."','".$data_inserimento[0]."','".$autore."','','','','','')";
            
$IDTopic=$this->ritorna_IDTopic($forum$titolo$autore$data_inserimento[0]);
            
$query_topic=mysql_query($inserisci_topic) or die(mysql_error());
            
$this->inserisci_post($IDTopic[0], $forum$messaggio$autore$titolo$data_inserimento[0], $ip);
            return 
"ok!";
            
        }
        else
            return 
"errore inserimento topic";
    }
    
    public function 
inserisci_post($topic$forum$messaggio$autore$titolo$data$ip)
    {
        if(isset(
$this->attiva))
        {
            
$inserisci_post="INSERT INTO db_forum_posts VALUES ('', '".$topic."', '".$forum."', '".$messaggio."', '".$autore."', '".$titolo."', '', '".$data."', '', '', '".$ip."')";
            
$query_post=mysql_query($inserisci_post) or die(mysql_error());
        }
        else
            return 
"errore inserimento post";
    }
    
    public function 
ritorna_IDTopic($forum$titolo$autore$data)
    {
        if(isset(
$this->attiva))
        {
            
$istruzione="SELECT topic_id FROM db_forum_topic WHERE forum_id='".$forum."' AND topic_title='".$titolo."' AND topic_autore='".$autore."' AND topic_time='".$data."'";
            
$topic=mysql_query($istruzione) or die(mysql_error());
            return 
mysql_fetch_row($topic);
        }
        else
            return 
"errore ritorno topic id";
    } 
l'errore mi viene solo per il valore del Topic ID da inserire nella tabella db_forum_posts...Ogni volta invece di inserire il vero ID Topic, inserisce sempre il valore 0.

Come se la query nella funzione ritorna_IDTopic non trovasse risultati..Ho provata anche a farla manualmente, inserendo i vari dati, ma ovviamente la query è giusta.
Problemi con la variabile della data non ve ne sono, visto che nella tabella db_forum_posts la data viene registrata perfettamente, quindi ho potuto escludere qualche problema del passaggio della variabile tra le varie funzioni, e lo stesso quindi vale anche per le altre variabili.

A questo punto la mia ignoranza e la mia stanchezza non riesce a farmi individuare l'errore..
L'unico errore sta proprio nella variabile IDTopic che viene registrata male..

Mi viene solo un dubbio, l'unico che potrebbe spiegare tutto questo..
E cioè che la funzione mysql_query non fa registrare il record appena viene eseguita, ma che il record viene definitivamente registrato solo quando la funzione che utilizza mysql_query finisce di lavorare..

Solo così mi spiegherei perchè mai ritorna_IDTopic() fa tornare un valore pari a zero..
E' una ipotesi giusta?

Grazie per la pazienza