no creo que la obtención de datos en sus tipos de datos nativos (es decir, cualquier otra cosa que cuerdas) puede hacerse en PHP 5.2 ...
En PHP 5.3, se hace posible, si no recuerdo mal, cuando está utilizando el nuevo (nuevo como en PHP> = 5.3) mysqlnd (controlador nativo de MySQL) controlador.
Después de rebuscar entre mis marcadores He encontrado este artículo sobre mysqlnd: PDO_MYSQLND: The new features of PDO_MYSQL in PHP 5.3
Se dice que esta (cita):
Ventajas del uso de mysqlnd de DOP
mysqlnd vuelve nativa tipos de datos cuando utilizando estados de cuenta preparados del lado del servidor, por ejemplo, se devuelve una columna INT como un entero variable e no como una cadena . Eso significa menos conversiones de datos internamente.
Pero esto es solamente PHP 5.3 (siempre que su versión de PHP 5.3 se compila con mysqlnd (y no el viejo libmysql)), y sólo parece ser el caso de las declaraciones preparadas :-(
lo cual no ayuda bastante, en su situación, supongo ...
Y aquí hay otro, aún sobre las nuevas características de mysqlnd, que habla de esto para no sólo declaraciones preparadas:. PHP: New network traffic, CPU and memory savings with mysqlnd
No estoy seguro de que esto se haya fusionado en el controlador oficial mysqlnd, sin embargo, la mejor manera sería intentarlo; pero todavía será PHP> = 5.3 solamente, de todos modos ...
Otra solución sería tener, en el lado de PHP, una especie de mapeo del sistema (como un ORM) a convertir los resultados procedentes de la base de datos de tipos de datos PHP ...
y sí, esto es malo si desea utilizar operadores como ===
y !==
, que son de tipo sensible ...
Gracias Pascal MARTIN! He estado buscando en Google durante varias horas y no he encontrado nada que pueda usar. Soy relativamente nuevo en PHP, pero parece que necesitaré ir con PDO si quiero el soporte nativo. Desafortunadamente mi host está ejecutando 5.2.algo ... También es difícil, estoy tratando de crear una entrada de archivo de informe XML que contiene información de consulta diferente. El script PHP lee el archivo XML solicitado y envía las consultas a la base de datos, por lo que realmente nunca sabré qué datos se están consultando y cómo se deben devolver. tiempo para ser creativo Supongo :) –
PDO o no PDO no debería cambiar nada, en este caso: lo que importa son los controladores utilizados debajo * (es decir, libmysql vs mysqlnd) * - y ni siquiera estoy seguro de que mysqlnd en PHP 5.3.2 devuelve tipos nativos para consultas estándar ;;; en su caso, de todos modos, con PHP 5.2, la única solución que tendrá será una capa de mapeo, que sí escriba las conversiones cuando sea necesario ... –
Tenga en cuenta que deberá [desactivar la emulación de declaración preparada] (http://stackoverflow.com/a/15592818/441684) si usa PDO. –