2014-07-20 9 views
1

TIMESTAMP를 내 열의 TIMESTAMP 열에 삽입하려고합니다. 항상 모든 0을 얻습니다.Wordpress insert NOW() TIMESTAMP 열에 모두 0을 반환합니다.

$now = current_time('mysql'); 

// insert the date into the db 
$wpdb->insert( 
    'wp_date', 
    array(
     'name' => $name, 
     'date' => $now  
    ), 
    array( 
     '%s', 
     '%s' 
    ) 
); // end insert 

그래서, CURRENT_TIME 매개 변수 "MySQL은"그 MySQL의 타임 스탬프 형식을 의미

$now = 'NOW()'; 

// insert the date into the db 
$wpdb->insert( 
    'wp_date', 
    array(
     'name' => $name, 
     'date' => $now  
    ), 
    array( 
     '%s', 
     '%s' 
    ) 
); // end insert 

답변

2

이 같은 (나는 그것이 좋은 대안을 생각), current_time으로 시도 : 여기

내 삽입입니다 사용하게 될 것이다.

+0

작품의 이런 종류의,하지만 지금 사용하는 것처럼 내가 시간을 얻고 싶었다(). 이 코드를 사용하면 GMT + 2이므로 올바른 시간을 얻지 못합니다. 나는 어쨌든 큰 쿼리를 사용하지 않고 원시 쿼리를 사용해야 할 것입니다. 감사합니다 –

+0

@OlliccaMindstorm 제발, GMT + 2가 당신이 얻고 싶은 정확한 시간이며 GMT + 2 시간 내 솔루션으로는 얻을 수 없다는 것을 명확히하십시오. – DzoniT

+0

@ Johhny, 그게 내 케이스에 맞습니다. 그러나 사용자가 GMT + 10 인 경우 이름이 입력 된 사용자는 모든 국가/지역에서 올 수 있으므로 GMT + 10이어야합니다. –

0

함수 current_time ('mysql');는 mysql 서버가 아닌 블로그의 시간을 반환합니다. mysql 서버의 시간을 얻으려면 다음을 수행하십시오. 그래서 같은입니다

global $wpdb; 
$row = $wpdb->get_row('SELECT now() as now'); 

// insert the date into the db 
$wpdb->insert( 
    'wp_date', 
    array(
     'name' => $name, 
     'date' => $row->now  
    ), 
    array( 
     '%s', 
     '%s' 
    ) 
) 

...

$mysql_time = $row->now; 
$php_time = date('Y-m-d G:i:s'); 
$blog_time = current_time('mysql'); 
관련 문제