ok, tu pensalo nel cerveletto il codice, e noi tiriamo ad indovinare dove sbagli:

Codice PHP:
$q $db->query($sql); 
$res $q->fetchAll(); 
var_dump($res); 
e vedi un pò che cosa tira fuori... da notare che come dice il manuale http://www.php.net/manual/en/pdostatement.fetchall.php a seconda del fetch style utilizzato cambia la struttura dell'array ritornata. Il fetch style è discusso nel metodo fetch http://www.php.net/manual/en/pdostatement.fetch.php del pdostatement. Puoi tranquillamente divertirti a cambiare la modalità di fetch finchè non trovi quella che ti aggrada di piu (in genere PDO::FETCH_ASSOC)