나는이 동그라미로 돌아가고 있습니다! 내가하고 있어요 다음PHP에서 MSSQL datetime을 사용하는 데 문제가 있습니다 (SQLSRV를 통해)
- 새에 그 날짜를 사용하려고 쿼리 문자열
- 를 통해 새로운 PHP 페이지에 날짜를 보내는 SQL/PHP
- 를 통해 MSSQL의 날짜 필드에서 날짜를 가져 SQL 쿼리
여기에서 문제가 발생합니다.
내가 에코 사용하는 경우 :
괜찮지 만, 나는 SQL 쿼리에서 사용할 때 내가 기대하는 결과를받지 못했습니다echo $_REQUEST['rSessionDate'];
output: 15/10/2012
, 그래서 내가하는 것입니다 할 수있는 가장 좋은 방법을 생각 먼저 날짜로 인식되는지 확인하십시오. 내가 날짜를 사용하는 경우
echo date('Y-m-d H:i',$_REQUEST['rSessionDate']);
output: Notice: A non well formed numeric value encountered in ...
:
echo date_format($_REQUEST['rSessionDate'],'Y-m-d');
output: Warning: date_format() expects parameter 1 to be DateTime, string given in ...
내가 사용하는 경우 한 strtotime() :
echo strtotime($_REQUEST['rSessionDate']);
output: (nothing)
내가 사용하는 경우 날짜()
나는 DATE_FORMAT()를 사용하는 경우() with strtotime() :
echo date('Y-m-d H:i',strtotime($_REQUEST['rSessionDate']));
output: 1970-01-01 01:00
나는 아주 간단한 것을 놓치고 있다고 확신합니다.
편집 :
$rSessionDate = new DateTime($_REQUEST['rSessionDate']);
echo $rSessionDate->format('Y-m-d H:i:s');
output: Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct(): Failed to parse time string (15/10/2012) at position 0 (1): Unexpected character'
과 : 2
$rSessionDate = date_create($_REQUEST['rSessionDate']);
echo date_format($rSessionDate, 'Y-m-d H:i:s');
output: Warning: date_format() expects parameter 1 to be DateTime, boolean given i
편집 :
SELECT fCourseCode ,fCourseTitle FROM tCourses WHERE fCourseCode = '4B' AND (ISNULL(fValidStart, 0) <= CAST('2012-10-15 00:00:00' as DATETIME))
:
내가 CAST를 사용하여 시도 나는 내가 찾은 몇 가지 새로운 기능을 시도했습니다
하지만 오류로 인해 실패합니다. "varchar 데이터 형식을 datetime 데이터 형식으로 변환하면 범위를 벗어나는 값이 발생합니다"
감사합니다. 내가 이해할 수없는 것은 필드가 이미 DATETIME 필드이므로 PHP로 형식을 변경하는 것이 쉽지 않을까요? – valoukh