wpdb update не сохраняет текущую временную метку
9 мар. 2014 г., 15:42:06
Просмотры: 14.4K
Голосов: 11
Использую $wpdb->update для добавления данных в пользовательскую таблицу, пытаюсь добавить текущую временную метку, но сохраняются неправильные значения (сохраняется 0000-00-00 00:00:00).
Обзор кода:
$wpdb->update('mytable',
array(
'value' => 'hello world',
'edit' => date("Y-m-d h:i:s") // сохраняется как 0000-00-00 00:00:00
),
array(
'option_name' => 'the row'
),
array('%s, %s')
);

user759235
426
Комментарии
Все ответы на вопрос
1
0
Кажется, вы решили все проблемы, кроме вопроса со временем:
обнаружил проблему: %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')
);

s_ha_dum
65.5K
9 мар. 2014 г. 16:40:01
Похожие вопросы