ようするにMSSQLでPDOでODBCなんてしちゃいけないんだ
まず
http://bugs.php.net/bug.php?id=36561
2年くらいほって置かれているバグ。
このおかげで、PDOのメインの機能(だと思っている)プリペアドステートメントが使えないようだ。
どんなデータでも""つけて文字列として値をセットしてしまうようなエラー文に見える。
まだ状態がClosedにならないので、現在のPDO_ODBCでは解決されていなそう。
手元の環境では
Message: SQLSTATE[22018]: Invalid character value for cast specification: 206 [FreeTDS][SQL Server]Operand type clash: text is incompatible with int (SQLExecute[206] at /usr/local/src/php-5.2.5/ext/pdo_odbc/odbc_stmt.c:133)
こんなようなエラーが出る。