Mysql
 sql >> Base de données >  >> RDS >> Mysql

Faire en sorte que mysql_fetch_assoc détecte automatiquement les types de données de retour ?

Je pense qu'une bonne stratégie consiste à déterminer par programmation le type de données de chaque colonne d'une table et à convertir les résultats renvoyés en conséquence. Cela vous permettra d'interagir avec votre base de données de manière plus cohérente et simple tout en vous donnant le contrôle dont vous avez besoin pour que vos variables stockent le bon type de données.

Une solution possible : Vous pouvez utiliser mysql_fetch_field() pour obtenir un objet contenant des métadonnées sur la colonne de la table, puis retransformer votre chaîne dans le type souhaité.

//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

Un exemple complet peut être trouvé ici :http://us2 .php.net/manual/en/function.mysql-fetch-field.php

Étant donné que PHP est faiblement typé, cela devrait vous être relativement facile.

Si vous utilisez des techniques OO (orientées objet), vous pouvez créer une classe avec cette fonctionnalité dans les méthodes setter() afin de ne pas avoir de code en double.