Cập nhật wpdb thêm dấu thời gian hiện tại không hoạt động


10

Vì vậy, bằng cách sử dụng bản cập nhật $ wpdb-> để thêm một số dữ liệu vào bảng tùy chỉnh, cố gắng thêm dấu thời gian hiện tại nhưng nó không lưu đúng nội dung (0000-00-00 00:00:00 điều này được lưu).

mã tổng quan

  $wpdb->update('mytable',
      array(
          'value' => 'hello world', 
          'edit'  => date("Y-m-d h:i:s") //saves 0000-00-00 00:00:00
      ),
      array(
          'option_name' => 'the row'
      ), 
      array('%s, %s')
  );

Hãy thử:date( "Y-m-d h:i:s", strtotime( time() );
Sormano

@Sormano time()trả về một số nguyên, không phải là một chuỗi.
fuxia

1
Bạn đã đúng, đã sử dụng strtotime () cho nhiều lần ... mã đúng:date( "Y-m-d h:i:s", time() );
Sormano

vẫn tiết kiệm 0000-00-00 00:00:00 .... db col ( editdấu thời gian KHÔNG NULL DEFAULT '0000-00-00 00:00:00')
user759235

tìm thấy vấn đề% d nên là% s. nhưng tôi thấy rằng nó tiết kiệm thời gian của máy chủ chứ không phải múi giờ hiện tại
user759235

Câu trả lời:


14

Bạn dường như đã giải quyết mọi thứ trừ vấn đề với thời gian:

tìm thấy vấn đề% d nên là% s. nhưng tôi thấy rằng nó tiết kiệm thời gian của máy chủ chứ không phải múi giờ hiện tại

WordPress có một số chức năng liên quan đến ngày / giờ . Trong trường hợp này, có vẻ như những gì bạn cần là current_time(), ...

Trả về giờ địa phương hiện tại của blog ở một trong hai định dạng, định dạng kiểu dữ liệu dấu thời gian của MySQL (ví dụ: YYYY-MM-DD HH: MM: SS) hoặc định dạng dấu thời gian Unix (ví dụ epoch).

Vì vậy, những gì bạn cần là:

$wpdb->update(
      'mytable',
      array(
          'value' => 'hello world', 
          'edit'  => current_time( 'mysql' )
      ),
      array(
          'option_name' => 'the row'
      ), 
      array('%s, %s')
);
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.