wpdb 업데이트 추가 현재 타임 스탬프가 작동하지 않습니다


10

따라서 $ wpdb-> update를 사용하여 일부 데이터를 사용자 정의 테이블에 추가하고 현재 시간 소인을 추가하려고 시도하지만 올바른 내용을 저장하지 않습니다 (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타임 스탬프 NOT NULL DEFAULT '0000-00-00 00:00:00')을 저장하는 중
user759235

% d 문제는 % s이어야합니다. 하지만 현재 시간대가 아닌 서버 시간을 절약 할 수 있습니다.
user759235

답변:


14

시간과 관련된 문제를 제외한 모든 것을 해결 한 것 같습니다.

% d 문제는 % s이어야합니다. 하지만 현재 시간대가 아닌 서버 시간을 절약한다는 것을 알았습니다.

워드 프레스는 많은 날짜 / 시간 관련 기능을 가지고 있습니다. 이 경우 필요한 것 같습니다 current_time().

블로그의 현재 현지 시간을 MySQL의 타임 스탬프 데이터 형식 형식 (예 : YYYY-MM-DD HH : MM : SS) 또는 유닉스 타임 스탬프 형식 (예 : 에포크) 중 하나의 형식으로 반환합니다.

따라서 필요한 것은 다음과 같습니다.

$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.