อัพเดต wpdb เพิ่มการประทับเวลาปัจจุบันไม่ทำงาน


10

ดังนั้นการใช้การอัพเดต $ wpdb-> เพื่อเพิ่มข้อมูลลงในตารางที่กำหนดเองพยายามเพิ่มการประทับเวลาปัจจุบัน แต่มันไม่ได้บันทึกสิ่งที่ถูกต้อง (0000-00-00 00:00:00 สิ่งนี้ถูกบันทึกไว้)

รหัสภาพรวม

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

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

@Sormano time()ส่งคืนเลขจำนวนเต็มไม่ใช่สตริง
fuxia

1
คุณพูดถูกใช้ strtotime () หลายครั้ง ... รหัสที่ถูกต้อง:date( "Y-m-d h:i:s", time() );
Sormano

ยังคงบันทึก 0000-00-00 00:00:00 .... db col (การeditประทับเวลาไม่เป็นค่าเริ่มต้น '0000-00-00 00:00:00')
759235

พบว่าปัญหา% d ควรเป็น% s แต่ฉันเห็นว่ามันช่วยประหยัดเวลาเซิร์ฟเวอร์ไม่ใช่เขตเวลาปัจจุบัน
759235

คำตอบ:


14

ดูเหมือนว่าคุณจะสามารถแก้ไขทุกอย่างได้ แต่ปัญหากับเวลา:

พบว่าปัญหา% 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')
);
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.