bindParam でエラー [2008/08/15]

PHPからPDOを使って、SQLを実行する処理で、
bindParamの部分でエラーが発生した。
DBはPostgreSQL。

■エラー内容
SQLSTATE[42P18]: Indeterminate datatype: 7 ERROR: could not determine data type of parameter $2

なんで?
型がおかしいらしいが、もちろんそんなことはない。

で色々調べていると、
似た事象の人を発見。
⇒ Prepared statements killing script

まさしくこれで、対策をやってみた。

$stmt = $db->prepare($sql, array(PDO::ATTR_EMULATE_PREPARES => true));

動いた。