sql >> Base de Datos >  >> RDS >> Mysql

¿Hacer que mysql_fetch_assoc detecte automáticamente los tipos de datos de retorno?

Creo que una buena estrategia aquí es determinar programáticamente el tipo de datos de cada columna en una tabla y emitir los resultados devueltos en consecuencia. Esto le permitirá interactuar con su base de datos de una manera más consistente y simple mientras aún le brinda el control que necesita para que sus variables almacenen el tipo de datos correcto.

Una posible solución: Podría usar mysql_fetch_field() para obtener un objeto que contenga metadatos sobre la columna de la tabla y luego convertir su cadena al tipo deseado.

//run query and get field information about the row in the table
$meta = mysql_fetch_field($result, $i);

//get the field type of the current column
$fieldType = $meta->type

Puede encontrar un ejemplo completo aquí:http://us2 .php.net/manual/en/function.mysql-fetch-field.php

Dado que PHP se escribe de forma flexible, debería tener un tiempo relativamente fácil con esto.

Si está utilizando técnicas OO (orientadas a objetos), podría crear una clase con esta funcionalidad en los métodos setter() para que no tenga que tener código duplicado.