2012-07-22 13 views
0

PHP를 사용하여 HTML 형식에서 입력 한 datetime 값을 MySQL 데이터베이스에 삽입해야합니다. 내가 잘못된 날짜 값 오류를 나는 아래의 코드를 실행하려고 할 때마다,PHP에서 문자열을 DateTime으로 변환

$rosterstartdate=$_GET['rosterstartdate']; 
$rosterenddate=$_GET['rosterenddate']; 

//$date = date_create_from_format('d/M/Y:H:i:s', $rosterstartdate); 
//$date->getTimestamp(); 
//echo $date; 

$date = strtotime($rosterstartdate); 
echo date('d/M/Y H:i:s', $date); 

    // echo DATE_FORMAT($rosterstartdate,"%Y%m%d %H%i%s"); 

    $con=mysql_connect("localhost","root",""); 
    if($con==true){ 
     mysql_select_db("attendance_db",$con); 
     $query="insert into tblroster values(LAST_INSERT_ID(),'$rosterteam','$rostershifts','$date','$rosterenddate')"; 

을받을 그러나 나는 변환을 위의 다른 기술을 각각 사용하여 시도했지만 작동하지 않습니다. 방법이에 대한 모든 아이디어를

+0

당신이 점점 정확한 오류가 무엇으로
변화 쿼리가 필요하지 않습니다? 당신은 'tblroster를 묘사하십시오;'의 출력을 게시 하시겠습니까? ? – walrii

+0

날짜 형식은 YYYY-MM-DD HH : MM : SS – BenOfTheNorth

+0

이어야합니다. 잘못된 datetime 값 : 행 1의 'rosterstartdate'열의 경우 '1341926751' – Yoosuf

답변

2

이 시도 삽입 할 수 있습니다 :

$date = date('Y-m-d H:i:s', $date); 

대신에 그것을 밖으로 메아리의 날짜 형식을 해당 코드를 사용합니다. 당신이 정말로 원하는 것은 같은

그러나 보이는이 :

$rosterstartdate = date('Y-m-d H:i:s', strtotime($rosterstartdate)); 
$rosterenddate = date('Y-m-d H:i:s', strtotime($rosterenddate)); 

당신이 당신의 쿼리 문자열에 두 변수를 참조 할 수 있습니다이 방법. 당신이 unixtime이 FROM_UNIXTIME 사용하는 경우

0

당신은 그것의 형식을

$rosterstartdate=$_GET['rosterstartdate']; 
$rosterenddate=$_GET['rosterenddate']; 

//$date = date_create_from_format('d/M/Y:H:i:s', $rosterstartdate); 
//$date->getTimestamp(); 
//echo $date; 

$date = strtotime($rosterstartdate); 

    $con=mysql_connect("localhost","root",""); 
    if($con==true){ 
     mysql_select_db("attendance_db",$con); 
     $query="insert into tblroster values(LAST_INSERT_ID(),'$rosterteam','$rostershifts',FROM_UNIXTIME($date),'$rosterenddate')"; 
관련 문제