Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drupal 7 查询Drupal用户表:创建日期_Drupal 7 - Fatal编程技术网

Drupal 7 查询Drupal用户表:创建日期

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函数可能会占用大量资源,并且最终会出现内

我想从Drupal用户表中选择用户,其中创建的日期早于1天前。然后删除这些用户。这段代码是不正确的,但它会让您了解我试图做什么,我只是不知道正确的DB查询。 "


我正在考虑使用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);