PostgreSQL 8.4 DB との通信に使用する次の PDO ステートメントのようなものがあります。
$st = $db -> prepare("INSERT INTO Saba.Betriebskosten (personalkosten)
VALUES(:kd_personalkosten)");
$st -> bindParam(':kd_personalkosten', $val['kd_personalkosten']);
$val['kd_personalkosten'] は空/null であるか、double 値を含んでいます。空/null の場合、空の値を挿入したいだけですが、次のエラーが発生します。
SQLSTATE[22P02]: Invalid text representation: 7 ERROR: invalid input syntax for type double precision: '';
つまり、空/null は、倍精度フィールドと互換性のない空の STRING に変換されます。このエラーを回避するにはどうすればよいですか?