2009-03-30 3 views
0

다음은 phpMyAdmin을 통해 내보낼 때 관심있는 표입니다.time()을 사용하여 MySQL TIMESTAMP 필드를 업데이트 하시겠습니까?

CREATE TABLE IF NOT EXISTS `users` (
    `ip` varchar(20) NOT NULL, 
    `lastcheck` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, 
    UNIQUE KEY `ip` (`ip`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1; 

다음은 쿼리입니다.

mysql_query("REPLACE INTO users SET ip = '$uip', lastcheck = '$tim'") or throwerror("part2 ".mysql_error()); 

$ tim은 time()으로 설정됩니다.

이제 lastcheck은 0000-00-00 00:00:00으로 설정됩니다.

아무도 도와 줄 수 있습니까? 감사.

답변

4

나는 확실하지 않다 도움 lastcheck 일이.

REPLACE INTO users SET ip = '$uip'; 

또한 lastcheck 필드를 업데이트하고, 나는 그것이 PHP에서 그들을 작성하고 저장하는 것보다 날짜/시간을 저장하기 위해 MySQL의 날짜 함수를 사용하는 것이 더 생각해야 : 당신이 다음과 같이 한 Statment를 업데이트 쓸 수있는 의미있는 데이터베이스의 문자열로 ...

+0

아, 훌륭합니다. 나는 지구상에서 PHP와 MySQL이 불일치 또는 무언가를하는 것을 막을 수있는 방법을 생각하고있었습니다 ... – unrelativity

+0

http://dev.mysql.com/doc/refman/5.1/en/time-zone-http : support.html, mysql 날짜를 PHP와 동일하게하는 것이 중요합니다. mysql 서버에 연결하면 설정할 수 있습니다 .... –

2

날짜를 사용해보십시오 ('Ymd H : i : s 일 수') 시간()

시간() PHP에서 유닉스 타임 스탬프를 반환하고 그 MyySQL의 날짜에 대한 올바른 삽입하지 않습니다 대신에

희망이 어쩌면 내가이 칼럼을 (IP =이 'UIP을 $') 업데이트 그 어느 때 즉, UPDATE CURRENT_TIMESTAMP ON 열 lastcheck 선언 CURRENT_TIMESTAMP에서 자동으로 최신 업데이트를합니다 찾고, 문제를 이해한다면

관련 문제