从名称获取用户uid(Drupal 7)

时间:2016-05-18 16:06:23

标签: drupal-7

我无法弄清楚如何让用户的UID知道用户的名字。

用户名将由变量输入。我只需要在另一个变量中获取UID。

我发现这个代码很完美,但它在Drupal 7上不起作用:

$account = user_load(array('name' => check_plain($name)));

任何人都可以帮助我吗? 非常感谢!!

2 个答案:

答案 0 :(得分:2)

$user = user_load_by_name($username);
$user_id = $user->uid;

或者您可以使用

function get_uid($username)
{    
    // Function that returns the uid based on the username given
    $user = db_fetch_object(db_query("SELECT uid FROM users WHERE name=':username'", array(":username" => $username)));

    return $user->uid;
}

答案 1 :(得分:0)

查找用户的一种方法是使用entity_load('user');。以下是如何执行此操作的示例:

// Add the user you want to find here
$user_to_lookup = 'test';

$users = entity_load('user');


$found_user = null;
foreach ($users as $user) {
    if ($user->name == $user_to_lookup ) {
        $found_user = $user;
    }
}

用户对象现在存储在$found_user中。请注意,它是一个stdClass,因此您需要使用箭头表示法来访问属性。例如,访问邮件写$found_user->mail