我们有类似下面的 PDO 语句,用于与 PostgreSQL 8.4 DB 进行通信。
$st = $db -> prepare("INSERT INTO Saba.Betriebskosten (personalkosten)
VALUES(:kd_personalkosten)");
$st -> bindParam(':kd_personalkosten', $val['kd_personalkosten']);
$val['kd_personalkosten'] 为空/null 或包含双精度值。在它为空/null的情况下,我们只想插入一个空值,但我们收到以下错误:
SQLSTATE[22P02]: Invalid text representation: 7 ERROR: invalid input syntax for type double precision: '';
这意味着空/空被转换为与双精度字段不兼容的空字符串。如何规避这个错误?