Ciao a tutti! Chiedo lumi riguardo uno strano comportamento che mi è capitato di osservare da parte di PHP con le sessioni.

Nel mio applicativo ho una pagina che mostra alcune informazioni riguardanti gli utenti. Per facilità ho creato una funzione che da un id univoco restituisce il nick di un utente (interrogando il database).

Funziona tutto, ecco la funzione, semplicissima:
Codice PHP:
function getnickfromuid($id)
{
    
$q mysql_query("SELECT `uid`, `nick` FROM `users` WHERE `uid` = " . (int) $id " LIMIT 0, 1");
    if(!
is_resource($q)) return FALSE;
    else
    {
        
$data mysql_fetch_array($q);
        return 
$data['nick'];
    }

Per sbaglio, ho urtato la tastiera e ho aggiunto una lettera alla mia funzione cambiando involontariamente la query in questo modo:
Codice PHP:
$q mysql_query("SELECT `uid`, `nick` FROM `users` WHERE `uid` = " . (int) $ikd " LIMIT 0, 1"); 
(c'è una 'k' in più nella variabile $id, se state cercando la differenza come nella settimana enigmistica! ).

Non ho verificato se la query va a buon fine (magari valorizzando $ikd per via del casting), ma se anche fosse restituirebbe un valore FALSE o ... boh!

In ogni caso, la cosa strana è che questo errore porta ad una completa cancellazione della mia sessione, cookie compresi!

Qualcuno sa spiegarmi il perchè?! O almeno ha idea di cosa possa esser successo al PHP?

(ho risolto il problema, ma mi ha "spaventato")... :berto:

Grazie!