2013-01-08 3 views
4

이것은 바보처럼 들리지만 내 인생에서 나는 알아낼 수 없다. 나는 모든 것을 시도했다.유닉스 타임 스탬프를 MySQL로 변환하기 DATETIME

문제는

$_POST['date']

이에 .. 내가 처음 입력 형식의 변동을 고려하기 위해 내 MySQL의 테이블에 ... 내가 유닉스로 전환 봤는데 내 날짜 문자열을 얻는 방법을 알아낼 수 있다는 것입니다 형식 : 19-1-2013 4시 43분 32초

$datestr= strtotime($_POST['date']); 
    echo $datestr; 
    $sql = "INSERT INTO `calendar` (`date`, `title`, `event`) VALUES ('FROM_UNIXTIME(".$datestr.")', '".mysql_real_escape_string($_POST['title'])."', '".mysql_real_escape_string($_POST['desc'])."')"; 
    $query = mysql_query($sql); 

이 내가 해봤 가장 최근의 일이고, 난 여전히 내 DATETIME 필드의 모든 0을 얻고있다.

제발 내가 뭘 잘못하고있어?

+0

가능한 중복 [어떻게 변환으로부터 보호하는 방법을 알아 보려면 아래 문서를 참조하십시오 timestamp to datetime to MySQL?] (http://stackoverflow.com/questions/5362874/how-to-convert-timestamp-to-datetime-in-mysql) – trejder

답변

11

작은 따옴표를 제거하면 값을 만들 수 있기 때문에 FROM_UNIXTIME 함수를 호출 할 수 있습니다. 예를 들어

(!) 참고로
$sql = "INSERT INTO `calendar` (`date`, `title`, `event`) VALUES (FROM_UNIXTIME(".$datestr."), '".mysql_real_escape_string($_POST['title'])."', '".mysql_real_escape_string($_POST['desc'])."')"; 

, 당신의 쿼리가 SQL Injection에 취약, 그것은

+0

감사합니다. 12 분 안에 받아 들일거야. –

+0

당신을 환영합니다! –

관련 문제