ログ日記

作業ログと日記とメモ

PDOのPDOStatement->bindParam()では自動的に型が判別されない


全てにおいて、じゃないかもしれないが、postgresqlのint型はPHPのint型になってくれない。

三番目の引数に型情報を設定する機能があるけれど、それを設定しなくても自動で判別してくれるものだと思ってたら違ったみたい。
普通に配列として取得するようにfetch()すると型情報は自動判別されるのに、bindParam()でfetch()するとpostgresqlのinteger型は文字列として扱われていた。


弊害は、voをgetしてsaveするときに、null値があると空白文字列に変換されているのでエラーになること。
なので取り敢えずgetColumnMeta()して型情報を設定するようにしてみた。