在TIMESTAMP列中的Wordpress插入NOW()返回全零

时间:2014-07-20 11:20:05

标签: wordpress wpdb

我想在我的列的TIMESTAMP列中插入一个TIMESTAMP,但我总是全部为零。

这是我的插页:

$now = 'NOW()';

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

2 个答案:

答案 0 :(得分:2)

尝试current_time,就像这样(我认为这是一个不错的选择):

$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时间戳格式。

答案 1 :(得分: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');