次のコードは、テストテーブルのdatetime、float、decimalなどのフィールドがすべてPHPの文字列として返されることを示しています。PHPはMySQLの結果(すべてが文字列になります)のフィールドデータ型を失います
$sql = 'SELECT * FROM table LIMIT 1';
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($result);
var_dump($row);
なぜPHPはMySQLデータベースのフィールドに適切なデータ型を認識して使用しないのですか?
私のテストシステムは、PHP 5.3.2とMySQL 5.1.44でMac OS Xを実行しています。 私は一般にUTF8でエンコードされたデータを持ち、InnoDBとMyISAMの両方のデータベースタイプを試しました。
出力はどのように見えますか?これはJSONと何が関係していますか? – Gumbo