ログ日記

作業ログと日記とメモ

PDOでfloatを取得する場合はstringになる

bindParam()の問題に気付いて、ちゃんと型を指定するようにしてたんだけど・・。
PDO::PARAM_FLOAT という定数は無い。今頃気付いた。
どういうことかというと、doubleやfloatなど小数点を含む数値は全部string型と判断される。
びっくり。


intが分かるならfloatも分かるだろーと思いきや、何か色々問題があるんだろうか。
PHP :: Bug #41698 :: float parameters truncated to integer in prepared statements
正式バージョンでの実装はまだ先かねぇ・・。
どっちにしろDebianのパッケージには入らないか。



実装しようか迷って結局PHPに任せることにした機能、型の判断をやっぱり自分でやった方がいいのかと思い始めてきた。
テーブル一覧とカラム一覧は取得してるわけだから、ついでに型情報も初めに取得してテキストファイルにでもキャッシュしといた方がいいかなぁ。