wpdb güncellemesi geçerli zaman damgası ekle çalışmıyor


10

Bu nedenle, özel bir tabloya bazı veriler eklemek için $ wpdb-> güncellemesini kullanarak geçerli zaman damgasını eklemeye çalışın, ancak doğru şeyleri kaydetmiyor (0000-00-00 00:00:00 kaydedildi).

genel bakış kodu

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

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

@Sormano time()bir dize değil bir tamsayı döndürür.
fuxia

1
Haklısın, strtotime () öğesini birçok kez kullandım ... doğru kod:date( "Y-m-d h:i:s", time() );
Sormano

hala kaydediliyor 0000-00-00 00:00:00 .... db col ( editzaman damgası BOŞ DEĞİL DEĞİL '0000-00-00 00:00:00')
user759235

% d sorunun% s olması gerektiğini tespit etti. ancak sunucu saatinin şimdiki saat diliminden tasarruf etmediğini
görüyorum

Yanıtlar:


14

Zamanla ilgili sorun dışında her şeyi çözmüş gibisiniz:

% d sorunun% s olması gerektiğini tespit etti. ancak sunucu saatinin şimdiki zaman diliminde değil zamandan tasarruf ettiğini görüyorum

WordPress, tarih / saate ilişkin bir dizi işleve sahiptir . Bu durumda, ihtiyacınız olan şey gibi geliyor current_time(), ki ...

Blogun geçerli yerel saatini MySQL'in zaman damgası veri türü biçimi (örn. YYYY-AA-GG SS: AA: SS) veya Unix zaman damgası biçimi (ör. Epoch) olmak üzere iki biçimden birinde döndürür.

Yani ihtiyacınız olan şey:

$wpdb->update(
      'mytable',
      array(
          'value' => 'hello world', 
          'edit'  => current_time( 'mysql' )
      ),
      array(
          'option_name' => 'the row'
      ), 
      array('%s, %s')
);
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.