Hallo
Tatsächlich liegt es wohl daran wie es Andreas vermutet hat. Die 16 wird als Monat interpretiert. Mache ich ein Datum wie unten, klappt es
INSERT INTO [TESTDB] ([DATUM_BEGINN]) VALUES ('2017-11-12 08:39:05')
Es steht dann so in der Tabelle: 2017-12-11 08:39:05.000
Dann muss wohl das PHP Script schon eine andere Formatierung machen.
Es dürfte sich dabei um Unterschiede der von PHP bzw. vom Management Studio verwendeten Zugriffswege handeln. Es gibt ja mehrere Treiber (ODBC, Native Client, diverse andere OLE-Treiber), die sich unterschiedlich verhalten. Hier mal ein Beispiel des Angebots, um einen MS-SQL-2008-Server zu kontaktieren.
Schlussendlich geht es aber darum, die Regeln, die durch den MS SQL Server vorgeschrieben werden, zu erfüllen. Wenn du im INSERT-Statement das Datum explizit einem CONVERT unterziehst (CONVERT(datetime, '2017-11-16 08:39:05', 121)
). Damit passt du die Eingabe garantiert in eines der unterstützten Formate an.
Tschö, Auge
Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.
Toller Dampf voraus von Terry Pratchett