ok, tu pensalo nel cerveletto il codice, e noi tiriamo ad indovinare dove sbagli:
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)Codice PHP:
$q = $db->query($sql);
$res = $q->fetchAll();
var_dump($res);