Imposta PDO::ATTR_EMULATE_PREPARES
su false, se ne hai davvero bisogno con PHP liberamente digitato
Se mysql_fetch_row
restituisce anche int per SUM (non mi è mai importato di controllare) - quindi fa alcune magie come if (ctype_digit($val)) $row[$key] = (int)$val;
- così puoi fare nel tuo DBAL
Per quanto ne so il funzionamento delle istruzioni preparate, utilizza la stessa struttura di pacchetti sia per l'invio che per il recupero dei dati e questo pacchetto contiene il tipo di dati.
Sembra che il server possa restituire dati in 2 formati:nativo e mysqlnd, dipende dal tipo di richiesta. Quest'ultimo può essere interpretato dalla libreria client per trasmettere il valore risultante.