【发布时间】:2016-12-25 23:23:07
【问题描述】:
我有一个会员网站,其中有一个特定的用户到期日期。我想做的是只让其会员资格将在 X 天后到期的用户向他们发送电子邮件。
db 中有一个名为“mm_user_data”的表,过期日期存储在名为“expiration_date”的列中
我可以使用此代码检索所有用户的到期日期
$sql = "SELECT expiration_date FROM mm_user_data";
$expire= $wpdb->get_results($sql);
echo var_dump($expire);
输出是这样的
[0]=> object(stdClass)#2455 (1) { ["expiration_date"]=> string(19) "2017-06-30 16:00:00" }
我需要做的是检查和检索列 wp_user_id 仅当“2017-06-30 16:00:00”例如在接下来的 10 天内
我试过了,但它似乎不起作用
$daysPriorToRebill = 10;
$priorToRebillDate = date('Y-m-d', strtotime("-{$daysPriorToRebill} days"));
$sql3 = "SELECT wp_user_id
FROM mm_user_data
WHERE expiration_date = '".$daysPriorToRebill."'";
$userid = $wpdb->get_results($sql3);
echo var_dump($userid);
输出array(0) { }。
由此我希望能够使用$userid 获取 user_email,然后向他发送一封电子邮件作为续订提醒。所以我目前的具体问题是让上面的代码工作并检索在 10 天内到期的用户的用户 ID。
【问题讨论】:
-
嗨。
$sql3(或$daysPriorToRebill)的输出是什么?日期正确吗? -
第一个是正确的,它输出所有日期,我只想得到未来10天的日期,SQL3没有输出任何东西,可能是错误的
-
这是 $SQL 的输出
-
string(79) "SELECT wp_user_id FROM mm_user_data WHERE expiration_date => '2017-01-04'" -
=>?应该是>=,不是吗?检查您是否对($wpdb->last_error)的一些提示有错误,请参阅:wordpress.stackexchange.com/questions/141627/…