Drupal 7 查询Drupal用户表:创建日期
我想从Drupal用户表中选择用户,其中创建的日期早于1天前。然后删除这些用户。这段代码是不正确的,但它会让您了解我试图做什么,我只是不知道正确的DB查询。 "Drupal 7 查询Drupal用户表:创建日期,drupal-7,Drupal 7,我想从Drupal用户表中选择用户,其中创建的日期早于1天前。然后删除这些用户。这段代码是不正确的,但它会让您了解我试图做什么,我只是不知道正确的DB查询。 " 我正在考虑使用user\u load\u multiple将用户加载到一个数组中以执行删除操作。获取一个包含要删除用户UID的数组,并使用user\u delete\u multiple$arrayOfUidToDelete: 如果您有很多用户,那么使用user\u load\u multiple函数可能会占用大量资源,并且最终会出现内
我正在考虑使用user\u load\u multiple将用户加载到一个数组中以执行删除操作。获取一个包含要删除用户UID的数组,并使用user\u delete\u multiple$arrayOfUidToDelete: 如果您有很多用户,那么使用user\u load\u multiple函数可能会占用大量资源,并且最终会出现内存不足的PHP错误。。。。 另外,你不需要加载用户,你只需要删除他们 对于查询,我将使用db_query,而不是db_select,如果用户没有对参数进行赋值,则使用db_query来提高性能。 所以它看起来像:
//get the list of uid
$user_list = db_query("select uid
from users
where CAST(FROM_UNIXTIME(created) as date) < NOW() - INTERVAL 1 DAY"
)->fetchCol();
// delete the users
user_delete_multiple($user_list);
//get the list of uid
$user_list = db_query("select uid
from users
where CAST(FROM_UNIXTIME(created) as date) < NOW() - INTERVAL 1 DAY"
)->fetchCol();
// delete the users
user_delete_multiple($user_list);