Mysql
 sql >> Database >  >> RDS >> Mysql

Fare in modo che mysql_fetch_assoc rilevi automaticamente i tipi di dati di ritorno?

Penso che una buona strategia qui sia determinare in modo programmatico il tipo di dati di ogni colonna in una tabella e lanciare i risultati restituiti di conseguenza. Ciò ti consentirà di interagire con il tuo database in modo più coerente e semplice, dandoti comunque il controllo necessario affinché le tue variabili memorizzino il tipo di dati corretto.

Una possibile soluzione: Puoi usare mysql_fetch_field() per ottenere un oggetto che contenga metadati sulla colonna della tabella e quindi riportare la tua stringa al tipo desiderato.

//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 esempio completo può essere trovato qui:http://us2 .php.net/manual/en/function.mysql-fetch-field.php

Dal momento che PHP è digitato liberamente, dovresti avere un tempo relativamente facile con questo.

Se stai usando tecniche OO (orientate agli oggetti), puoi creare una classe con questa funzionalità nei metodi setter() in modo da non dover avere codice duplicato.