2013-06-10 3 views
-3

특정 시간에 데이터베이스 항목을 업데이트하는 데 문제가 있습니다.PHP가 데이터베이스에 시간을 입력하는 중

$currentTime = time("H:i:s", strtotime("16:00:00")); 

mysqli_query($mysqli,"UPDATE Table SET time='" . $currentTime . "' WHERE id = 1); 

하지만 데이터베이스의 시간 00:00:00

로 내 데이터베이스에서 데이터 유형을 표시하고이 시간으로 설정되어 ... 그것은 DATE해야 하는가?

무엇이 잘못 되었나요?

+1

'time'은 현재 유닉스 타임 스탬프를 정수로 반환합니다. 아마도'date'를 사용하려고했을 것입니까? – datasage

+0

또한 mysqli_query에 따옴표가있는 오타가 있습니다. – BIOS

+0

['time() - 현재 유닉스 타임 스탬프를 반환합니다 .'] (http://php.net/manual/en/function.time.php) – Sean

답변

0

변경 time를 사용 : 나는 :들.

0

echo time("H:i:s", strtotime("16:00:00"));

이것은 MySQL이 예상 시간 형식이 아닌

1370830176

을 생산하고 있습니다.

귀하의 질의는된다 :

UPDATE Table SET time='1370830176' WHERE id = 1

그것은 단순히해야한다 :

그래서 UPDATE Table SET time='16:00:00' WHERE id = 1

, 당신이 필요가 없습니다

$currentTime = time("H:i:s", strtotime("16:00:00"));

만 필요합니다

$currentTime = "16:00:00";

1

왜 MySQL의 날짜/시간 functions를 사용하지?

는 H로 유닉스 타임 스탬프를 포맷해야 ...만을 위해 UnixTimeStamp을 반환 CURRENTTIME 참조하고 date

기능 time에 의해

mysqli_query($mysqli,"UPDATE Table SET time=CURRENTTIME() WHERE id = 1"); 
+0

스크립트가 실행되는 서버가 아니라 데이터베이스 서버의 시간대가 사용됩니다. –

+0

@ 잭 - GMT/UTC로 저장하고 CONVERT_TZ() 함수를 사용하십시오. –

+0

알아,하지만 나는 질문을하는 사람이 아니야 ;-) –

관련 문제