Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql_fetch_assoc automatisch Rückgabedatentypen erkennen lassen?

Ich denke, eine gute Strategie besteht darin, den Datentyp jeder Spalte in einer Tabelle programmgesteuert zu bestimmen und die zurückgegebenen Ergebnisse entsprechend umzuwandeln. Dadurch können Sie auf konsistentere und einfachere Weise mit Ihrer Datenbank interagieren und haben gleichzeitig die Kontrolle, die Sie benötigen, damit Ihre Variablen den richtigen Datentyp speichern.

Eine mögliche Lösung: Sie könnten mysql_fetch_field() verwenden, um ein Objekt zu erhalten, das Metadaten über die Tabellenspalte enthält, und dann Ihren String wieder in den gewünschten Typ umwandeln.

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

Ein vollständiges Beispiel finden Sie hier:http://us2 .php.net/manual/en/function.mysql-fetch-field.php

Da PHP locker typisiert ist, sollten Sie damit relativ leicht zurechtkommen.

Wenn Sie OO-Techniken (objektorientiert) verwenden, könnten Sie eine Klasse mit dieser Funktionalität in den setter()-Methoden erstellen, damit Sie keinen doppelten Code haben müssen.