2013-03-08 2 views
4

나는 초보자입니다. 완벽하게 작동하는 로그인 및 등록 시스템을 만들었지 만 사용자가 로그인 할 때 마지막 로그인 시간을 표시하려고합니다. 2013-03-08 00:00:00으로 데이터를 저장하는 테이블 (TIMESTAMP)이 있습니다. 날짜가 표시되지만 시간은 표시되지 않습니다. 또한 사용자가 로그인 할 때 이러한 결과를 표시하려고합니다.마지막 로그인 시간을 PHP로 표시

데이터 유효성 검사가 성공하고 사용자 세션 변수가 설정되면 아래 코드를 사용하고 있습니다.

$currentDate = date('Y-m-d g:i:s'); 
mysql_query('UPDATE `users` SET `last_sctivity` = "' . $currentDate . '"'); 
+0

'g : i : s '의'g'는 12 시간 형식을 사용하고 SQL의 경우'h'에 의해 주어진 24 시간 형식이 필요합니다. 'Y-m-d h : i : s' – vedarthk

답변

2
당신이 코드

mysql_query('UPDATE `users` SET `last_sctivity` = now()'); 
의 모든 곳을 $currentDate 사용하지 않을 경우 당신은 또한 쿼리에서 now()을 사용할 수 있습니다

또한 열 last_sctivitytimestamp

+0

그것이 올바른지는 모르겠지만 왜 여전히 데이터베이스에서 동일한 0000 형식을 보여 주며 내가 TIMESTAMP를 사용했는지 파악할 수 없습니다. – subhro

1

시도 :

$currentDate = date('Y-m-d h:i:s');

변경 g:i:s ->h:i:s

+0

감사합니다. 나는 그것도 작동하지 않습니다 시도했습니다. – subhro

0

date 등 날짜 MySQL은 이에 대한 적절한 기능이있는 경우, MySQL의에서 PHP 함수를 사용을 삽입하지 마십시오 있지 않은지 확인하십시오. MySQL의 NOW()을 대신 사용하십시오.

필요없는 경우 PHP와 MySQL을 함께 사용하지 않는 것이 좋습니다.

+0

감사합니다.이 문제를 해결했습니다. mysql의 데이터 형을 int (11)로 변경하고 mysql_query ('UPDATE'사용자 집합'last_activity = UNIX_TIMESTAMP()');로 쿼리했습니다. 그러나 사용자 사용자가 로그 할 때마다 last_activity 필드를 업데이트합니다. 어떻게이 함수를 사용하여 각각에 대한 타임 스탬프를 업데이트 할 수 있습니까? – subhro

관련 문제