如何找到phpBB用户的自定义字段等于'1234'


How to find phpBB user that has custom field equal to '1234'?

我有一个phpBB安装。我添加了名为"保险号"的自定义配置文件字段。每个用户都有不同的价值。我想获得一个值等于'1234'的用户。

如何通过自定义字段获得用户?

第一步:

SELECT * FROM phpbb_users LIMIT 1

检查自定义字段的名称。可以是insurancenumber, insurance_number

这样的查询将选择您的数据:

SELECT  u.user_id, u.username
FROM  phbb_users u
INNER JOIN phbb_profile_fields_data pf ON u.users_id = pf.users_id
WHERE u.`insurance number` = '1234'

我没有运行脚本来查找Custom配置文件字段,而是简单地使用phpBB管理GUI来获取字段名。在phpBB3管理GUI>用户和组选项卡>"自定义配置文件字段"在左侧导航的用户部分

自定义配置文件字段数据存储在phpbb_profile_fields_data表中。使用带有"pf_"前缀的字段标识来命名列。我们的"company"字段数据存储在phpbb_profile_fields_data表的pf_company列中。

SQL获取在"company"自定义配置文件字段中具有特定值的用户名列表。我以"Google"为例:

SELECT u.username 
FROM phpbb_users u 
INNER JOIN phpbb_profile_fields_data pf ON u.user_id = pf.user_id 
WHERE pf.pf_company = 'Google'
ORDER BY u.username