Sizin hata açıkça sorunun ne olduğunu belirtmek gibi görünüyor:
ERROR: invalid input syntax for type timestamp: ""
Bu sorgu 'damgası' bir türü olan bir PostgreSQL alana boş bir dize eklemek için çalışıyor görünüyor. Bazı tür geçersiz bir dize ekleyerek olsaydı, bu gibi recieving olan hata görünmelidir:
ERROR: invalid input syntax for type timestamp: "foobardtimestamp"
Beklenen dize geçirilen olsaydı ya, senin durumunda, hata bu gibi görünebilir:
ERROR: invalid input syntax for type timestamp: "2002-03-11"
... Ama hata gibi düşünmek bana bir dize aslında sorguya geçirilen almıyor şüpheli kılan demiyor. Aslında daha önce belirttiği gibi şudur: PostgreSQL 2002-03-11
geçerli bir zaman damgası dize olarak taşıma mükemmel yeteneğine sahip olmalıdır.
PostgreSQL timestamp olarak'' (boş dize) ekleme sevmez ve sağlanan hata ile şikayet edecektir.
Eğer boş bir dize sağlamak istiyorsanız, size sütunda bir NOT NULL
kısıtlaması yok emin olmak gerekir ve yerine boş bir dize null
kullanmanız gerekir. Eğer boş bir dize göndermek anlam değilseniz, ben $pdo->quote($date)
Eğer o dönen istediğiniz dize alıyoruz emin olmak için değerini kontrol.
Aslında doğru göründüğünden emin olmak için Sorguyu çalıştırmadan önce de çıkış için oluşturulan SQL deneyebilirsiniz. Ben bunu yaparsanız, bu gibi bir şey olacak, bir duygu var:
INSERT INTO dates(date) VALUES('')
Also, for what it's worth, your example says you're running:
$pdo->query($date);
when I'm fairly certain you want: $pdo->query($query);