Myślę, że dobrą strategią jest tutaj programowe określenie typu danych każdej kolumny w tabeli i odpowiednie rzutowanie zwróconych wyników. Umożliwi to interakcję z bazą danych w bardziej spójny i prostszy sposób, jednocześnie zapewniając kontrolę niezbędną do przechowywania przez zmienne właściwego typu danych.
Jedno możliwe rozwiązanie: Możesz użyć mysql_fetch_field(), aby uzyskać obiekt, który przechowuje metadane dotyczące kolumny tabeli, a następnie rzutować swój ciąg z powrotem na żądany typ.
//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
Pełny przykład można znaleźć tutaj:http://us2 .php.net/manual/en/function.mysql-fetch-field.php
Ponieważ PHP jest luźno napisane, powinieneś mieć z tym stosunkowo łatwy czas.
Jeśli używasz technik OO (zorientowanych obiektowo), możesz utworzyć klasę z tą funkcjonalnością w metodach setter(), dzięki czemu nie musisz mieć zduplikowanego kodu.