我有一个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