내 PHP 스크립트에서 MS SQL Server의 열 (datetime 유형)에 날짜를 추가하고 싶습니다. 이 블로그 게시물 (php5-sybase, php5-odbc, 우분투 14.04 / 15.10의 freetds)에 따라 연결을 설정했습니다 : https://blog.thesysadmins.co.uk/ubuntu-server-connect-to-mssql-via- php.html
내 문제는 SQL Management Studio와 동일한 PHP 스크립트에서 동일한 쿼리를 사용하면 날짜 열이 NULL로 해석되기 때문에 PHP를 통한 쿼리가 실패한다는 것입니다. (축약 된) 쿼리 :
INSERT INTO tbl_test (mydate) VALUES (’20-3-2004′)
message: Cannot insert the value NULL into column ‘mydate’ column does not allow nulls. INSERT fails.
내가 말했듯이 SQL Management Studio에서 정확히 동일한 쿼리가 제대로 실행됩니다. 이제이 쿼리는 오류없이 실행됩니다.
INSERT INTO tbl_test (mydate) VALUES (’3-20-2004′)
분명히 쿼리의 날짜 시간은 MDY 로 해석 되지만 변경할 수있는 옵션을 찾을 수 없습니다. 놀랍게도 우분투 15.10에서는 작동하지만 14.04에서는 아파치 php와 동일한 구성을 사용합니다. freetds와 php5-odbc는 기본값을 사용합니다.
SQL Server 설정 (@@ LANGUAGE = Germand, sp_helplanguage 독일어 dateformat = dmy) 또는 php.ini (iconv 날짜 시간 형식) 모두 MDY를 구성 하지 않았습니다 . mssql.datetimeconvert = 켜짐 은 꺼짐과 차이가 없습니다.
tl; dr PHP에게 날짜 시간 형식이 MDY가 아니라 DMY인지 어떻게 알 수 있습니까?