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 cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.