Ustaw PDO::ATTR_EMULATE_PREPARES
na false, jeśli naprawdę tego potrzebujesz z luźno wpisanym PHP
Jeśli mysql_fetch_row
zwraca ci int dla SUMA (nigdy nie chciałem tego sprawdzać) - wtedy robi trochę magii, jak if (ctype_digit($val)) $row[$key] = (int)$val;
- więc możesz to zrobić w swoim DBAL
O ile rozumiem sposób, w jaki działają przygotowane instrukcje, używa tej samej struktury pakietów zarówno do wysyłania, jak i pobierania danych, a ten pakiet zawiera typ danych.
Wygląda na to, że serwer może zwracać dane w 2 formatach - natywnym i mysqlnd, w zależności od typu żądania. Ten ostatni może zostać zinterpretowany przez bibliotekę klienta w celu rzutowania wynikowej wartości.