оновлення wpdb додати поточну позначку часу не працює


10

Отже, використовуючи оновлення $ wpdb->, щоб додати деякі дані до спеціальної таблиці, намагаючись додати поточну позначку часу, але це не збереження потрібних речей (0000-00-00 00:00:00 це збережено).

огляд коду

  $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')
  );

Спробуйте:date( "Y-m-d h:i:s", strtotime( time() );
Сормано

@Sormano time()повертає ціле число, а не рядок.
fuxia

1
Ви маєте рацію, багато разів використовували strtotime () ... правильний код:date( "Y-m-d h:i:s", time() );
Сормано

все ще економить 0000-00-00 00:00:00 .... db col ( editчасова
марка

знайдено, що проблема% d має бути% s. але я бачу, що це економить час сервера, а не поточний часовий пояс
user759235

Відповіді:


14

Ви ніби вирішили все, окрім проблеми з часом:

знайдено, що проблема% d має бути% s. але я бачу, що це економить час сервера, а не поточний часовий пояс

WordPress має ряд функцій, пов’язаних із датою / часом . У цьому випадку це звучить як те, що тобі потрібно current_time(), а що ...

Повертає поточний локальний час блогу в одному з двох форматів, або формат даних типу часової мітки MySQL (тобто YYYY-MM-DD HH: MM: SS), або формат часових міток Unix (тобто епоха).

Отже, що вам знадобиться:

$wpdb->update(
      'mytable',
      array(
          'value' => 'hello world', 
          'edit'  => current_time( 'mysql' )
      ),
      array(
          'option_name' => 'the row'
      ), 
      array('%s, %s')
);
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.