2012-04-01 63 views
0

我试图通过检测它的Facebook用户ID来登录用户。 “profile_fbuid”是我创建的(隐藏)配置文件字段,用于以相应的Facebook用户标识登录用户。 当用户试图与Facebook我发现他/她的Facebook用户ID,但是当我尝试,以配合相应的Drupal用户此行不起作用登录:user_load由用户配置文件字段?

$user_exists = user_load(array('profile_fbuid'=>$fbuserid)); 

我得到这个错误:用户警告:未知列'profile_fbuid'

我知道错误的含义,但我不知道如何搜索使用用户配置文件字段的用户。

感谢您的帮助!

回答

0

我认为在表users呼吁profile_fbuid无场,所以我觉得你的用户配置文件模块产生这一领域,所以我认为它能够更好地创建一个查询其获得此列profile_fbuid的UID,然后通过UID到user_load()函数

$query = db_query("select `uid` from {table_name} where `profile_fbuid` = %d ",$fbuserid); 
while($result = db_fetch_object($query)){ 
$uid = $result->uid ; 
$user_exists = user_load(array('uid'=>$uid)); 
} 

我没有测试此代码,好运

0

您创建了连接到名为profile_fbuid用户配置文件的自定义字段。要在数据库中做的就是寻找这个表:

field_data_field_profile_fbuid. 

相关列entity_id,这将是(Drupal的)user idfield_profile_fbuid_value,其中将包含值(Facebook的UID)。

相关问题