我正在使用Wordpress并获得了一个包含不同pid
s(个人ID)的数据库和一个已设置为activatedValue
或{{NULL
的字段pid
3}}。
我收到activatedValue
并需要找到NULL
- 值。如果该字段为current_time()
,我想将其替换为$pid = '52'; // example for a personal id
$activatedValue = $wpdb->get_var( "SELECT activatedValue FROM $table_name WHERE pid = '$pid'" );
if( is_null($activatedValue) ) {
// replace activatedValue in database with current time
}
。我想到了这样的事情:
$pid = '52';
if ( ! empty ( $pid ) ) {
global $wpdb;
$table_name = $wpdb->prefix . "prelaunchr";
$activatedValue = $wpdb->get_var( "SELECT activated FROM $table_name WHERE pid = '$pid'" );
if ( is_null($activatedValue) ) {
$currentTime = current_time();
$wpdb->query("UPDATE $table_name SET activated = NOW() WHERE pid = '$pid'");
}
}
我该怎么做?
实现这一目标对我来说有几个问题。我试过这个:
private extractData(res: Response) {
let body = res.json();
return body.data || {};
}
答案 0 :(得分:1)
如果要更新数据库记录中的值,则需要使用UPDATE运行wpdb::query()语句。
if( is_null($example_field) ) {
$wpdb->query("UPDATE $table_name SET example_field = NOW() WHERE pid = '$pid'");
}
答案 1 :(得分:1)
我认为你可以修改数据库,而不是使用timestamp使用datetime,然后:
$pid = '52';
if ( ! empty ( $pid ) ) {
global $wpdb;
$table_name = $wpdb->prefix . "prelaunchr";
$activatedValue = $wpdb->get_var( "SELECT activated FROM $table_name WHERE pid = '$pid'" );
if ( is_null($activatedValue) ) {
//Here you can change the TimeZone of the system//
date_default_timezone_set('America/Chicago');
$date = date('Y/m/d h:i:s', time());
$wpdb->query("UPDATE $table_name SET activated = '{$date}' WHERE pid = '$pid'");
}
}