web-dev-qa-db-fra.com

la mise à jour de wpdb ajoute que l'horodatage actuel ne fonctionne pas

Donc, en utilisant la mise à jour $ wpdb-> pour ajouter des données à une table personnalisée, essayez d’ajouter l’horodatage actuel mais ne sauvegardez pas le bon contenu (0000-00-00 00:00:00 est enregistré).

code général

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

Vous semblez avoir tout résolu sauf le problème du temps:

a trouvé que le problème% d devrait être% s. mais je vois que cela fait gagner du temps au serveur et non au fuseau horaire actuel

WordPress propose un certain nombre de fonctions liées à la date/heure . Dans ce cas, il semblerait que vous ayez besoin de current_time() , qui ...

Renvoie l'heure locale actuelle du blog dans l'un des deux formats, soit le format du type de données timestamp de MySQL (c'est-à-dire AAAA-MM-JJ HH: MM: SS), soit le format d'horodatage Unix (par exemple Epoch).

Donc, ce dont vous avez besoin, c'est:

$wpdb->update(
      'mytable',
      array(
          'value' => 'hello world', 
          'edit'  => current_time( 'mysql' )
      ),
      array(
          'option_name' => 'the row'
      ), 
      array('%s, %s')
);
11
s_ha_dum