私はMSSQL \ SQLEXPRESS 2005バックエンドでapache2から提供されるphp5.3でDoctrine 2.0を使用しています。
私の問題は、DateTimeオブジェクトでレコードを挿入するとエラーが発生するということです。DoctrineはMSSQL 2005にDateTimeを挿入できません
PDOException:SQLSTATE [22007]:[Microsoft] [SQL Serverネイティブクライアント10.0] [SQL Server] datetimeを文字列から変換するときに変換に失敗しました。
トラブルシューティングの一環として、ターゲット列が実際にdatetime型であることを確認しました。そして、私は同じように日時を挿入するときに、同じパッケージを使用して同様のクラスが完璧に実行されるということである。この
INSERT INTO proposal (proposaldate, ...)
VALUES (?..) { [1]=> object(DateTime)#264 (3) { ["date"]=> string(19) "2010-11-20 22:15:12" ["timezone_type"]=> int(3) ["timezone"]=> string(16) "America/New_York" }..}
最も当惑ことのようなものを返すEchoLoggerを使用してクエリをエコーしています。
ご協力いただきまして誠にありがとうございます。
2010/21/11 <> YYYMMDD ... – gbn
私は誤解されるかもしれないが、私はPDOは日付フォーマットを扱うだろうと思いました。のように、それはdatetimeオブジェクトを渡され、PDOはこのようなことをすることによってそれをフォーマットします。 $ dateTime-> format( "ISO8601")。私は文字列を渡そうとしましたが、非オブジェクト上で "format"を呼び出せないという不満があります。 –
私のカラムは "date"とは対照的に "datetime" –