L'aggiornamento di wpdb aggiunge il timestamp corrente non funziona


10

Quindi, usando $ wpdb-> update per aggiungere alcuni dati a una tabella personalizzata, provando ad aggiungere il timestamp corrente ma non sta salvando le cose giuste (è stata salvata la registrazione 00:00:00).

codice generale

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

Prova:date( "Y-m-d h:i:s", strtotime( time() );
Sormano

@Sormano time()restituisce un numero intero, non una stringa.
fuxia

1
Hai ragione, hai usato strtotime () molte volte ... giusto codice:date( "Y-m-d h:i:s", time() );
Sormano

ancora in registrazione 00:00:00 .... db col (data e ora editNON NULLA DEFAULT '0000-00-00 00:00:00')
user759235

trovato il problema% d dovrebbe essere% s. ma vedo che risparmia l'ora del server non il fuso orario corrente
user759235

Risposte:


14

Sembra che tu abbia risolto tutto tranne il problema con il tempo:

trovato il problema% d dovrebbe essere% s. ma vedo che risparmia il tempo del server non il fuso orario corrente

WordPress ha un numero di funzioni relative a data / ora . In questo caso, sembra che ciò di cui hai bisogno sia current_time(), che ...

Restituisce l'ora locale corrente del blog in uno dei due formati, il formato del tipo di dati data / ora di MySQL (es. AAAA-MM-GG HH: MM: SS) o il formato data / ora Unix (ovvero epoca).

Quindi ciò di cui dovresti avere bisogno è:

$wpdb->update(
      'mytable',
      array(
          'value' => 'hello world', 
          'edit'  => current_time( 'mysql' )
      ),
      array(
          'option_name' => 'the row'
      ), 
      array('%s, %s')
);
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.