Nic*_*k.h 9 drupal drupal-6 drupal-fapi
在Drupal中是否有任何核心功能可以从用户名获取uid?或者我应该执行数据库查询?我的字段是一个文本字段,其中'#autocomplete_path'等于'user/autocomplete'
Sid*_*iya 11
你可以使用这个user_load功能.见http://api.drupal.org/api/function/user_load/6
特别参见http://api.drupal.org/api/function/user_load/6#comment-6439
所以你会做这样的事情:
// $name is the user name
$account = user_load(array('name' => check_plain($name)));
// uid is now available as $account->uid
Run Code Online (Sandbox Code Playgroud)
Wil*_*ong 10
不知怎的,我无法使查询工作,但我发现:
$user = user_load_by_name($username);
$user_id = $user->uid;
Run Code Online (Sandbox Code Playgroud)
请参阅:http://api.drupal.org/api/drupal/modules%21user%21user.module/function/user_load_by_name/7
用户加载功能非常繁重,会占用更多资源并返回比所需更多的数据.这是一个很好的小功能:
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;
}
Run Code Online (Sandbox Code Playgroud)
注意:此代码已修订且输入已转义,因此代码不会以任何方式危险.