Ciao a tutti.. ho un problema che mi sta facendo impazzire!!!

ho il seguente codice :

function connectdata($q,$op){
//dati connessione
include("./script/connectdata.php");
//esegui connessione
$db = mysql_connect($db_host, $db_user, $db_password) or die ("Errore nella connessione a MySQL");
mysql_select_db($db_name , $db);
switch ($op)
{
case "r":
$risultati = mysql_query($q);
if($risultati) {
$returnresultset = mysql_fetch_array($risultati, MYSQL_ASSOC);
$returnresultset['ok'] = true;
}else{
$returnresultset['ok'] = false;
};
mysql_free_result($risultati);
case "iud":
$returnresultset['ok'] = mysql_query($q);
// case xxx
// altri casi da inserire
// .....
}
mysql_close($db);
$returnresultset['motiv'] = "";
return $returnresultset;
}

al quale passo la seguente select :
$querytoexec = "SELECT * FROM sessioni WHERE sessid = '$idsessione';";
$returnsession = connectdata($querytoexec,'r');

Il dubbio è .... xkè se la tabella sessioni è vuota.. mi restituisce
$returnresultset['ok'] = true;
eseguendo il codice come se if($risultati) è vero!?!?!

dove sbaglio???

spero di essere stato chiaro.. ciao e grazie