Eu não acho que obter dados em seus tipos de dados nativos (ou seja, qualquer outra coisa que strings) pode ser feito em PHP 5.2...
No PHP 5.3, torna-se possível, se bem me lembro, quando você está usando o novo (novo como no PHP>=5.3) mysqlnd (Driver Nativo do MySQL) motorista.
Depois de pesquisar mais meus favoritos, encontrei este artigo sobre mysqlnd:
PDO_MYSQLND: The new features of PDO_MYSQL in PHP 5.3
Diz isso (citação):
Mas isso é apenas PHP 5.3 (desde que sua versão do PHP 5.3 seja compilada com mysqlnd (e não com a antiga libmysql) ), e parece ser apenas o caso de declarações preparadas :-(
O que não ajuda muito, na sua situação, eu acho...
E aqui está outro, ainda sobre os novos recursos do mysqlnd, que fala sobre isso não apenas para declarações preparadas:PHP:Novo tráfego de rede, CPU e economia de memória com mysqlnd .
Não tenho certeza se isso foi mesclado no driver oficial do mysqlnd, embora -- a melhor maneira seria tentar; mas ainda será PHP>=5.3 apenas, de qualquer maneira ...
Outra solução seria ter, no lado do PHP, algum tipo de sistema de mapeamento (como um ORM) para converter resultados provenientes do banco de dados para tipos de dados PHP ...
E sim, isso é ruim se você quiser usar operadores como
===
e !==
, que são sensíveis ao tipo...