wpdb update füge aktuellen Zeitstempel hinzu funktioniert nicht


10

Verwenden Sie also das Update $ wpdb->, um einige Daten zu einer benutzerdefinierten Tabelle hinzuzufügen, und versuchen Sie, den aktuellen Zeitstempel hinzuzufügen, aber es werden nicht die richtigen Daten gespeichert (0000-00-00 00:00:00 wird gespeichert).

Übersichtscode

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

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

@Sormano time()gibt eine Ganzzahl zurück, keine Zeichenfolge.
Fuxia

1
Du hast recht, strtotime () zu oft benutzt ... richtiger Code:date( "Y-m-d h:i:s", time() );
Sormano

spart immer noch 0000-00-00 00:00:00 .... db col ( editZeitstempel NICHT NULL STANDARD '0000-00-00 00:00:00')
user759235

fand das Problem% d sollte% s sein. aber ich sehe, dass es dem Server Zeit spart, nicht die aktuelle Zeitzone
user759235

Antworten:


14

Sie schienen alles außer dem Problem mit der Zeit gelöst zu haben:

fand das Problem% d sollte% s sein. aber ich sehe, dass es dem Server Zeit spart, nicht die aktuelle Zeitzone

WordPress hat eine Reihe von datums- / zeitbezogenen Funktionen . In diesem Fall klingt es so, als ob Sie Folgendes benötigen current_time():

Gibt die aktuelle Ortszeit des Blogs in einem von zwei Formaten zurück, entweder im Zeitstempeldatentypformat von MySQL (dh JJJJ-MM-TT HH: MM: SS) oder im Unix-Zeitstempelformat (dh Epoche).

Was Sie also brauchen sollten, ist:

$wpdb->update(
      'mytable',
      array(
          'value' => 'hello world', 
          'edit'  => current_time( 'mysql' )
      ),
      array(
          'option_name' => 'the row'
      ), 
      array('%s, %s')
);
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.