我有一个phpBB安装。我添加了名为“保险号”的自定义配置文件字段。每个用户都有不同的价值。我希望得到一个值等于'1234'的用户。
如何通过自定义字段获取用户?
答案 0 :(得分:4)
首先:
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'
答案 1 :(得分:2)
我只是使用phpBB管理GUI来获取字段名称,而不是运行脚本来查找自定义配置文件字段。在phpBB3中管理GUI>用户和群组标签>左侧导航栏的“用户”部分中的“自定义配置文件字段”。
自定义配置文件字段数据存储在phpbb_profile_fields_data表中。使用具有“pf_”前缀的字段标识命名列。我们的“公司”字段数据存储在phpbb_profile_fields_data表的pf_company列中。
SQL以获取“公司”自定义配置文件字段中具有特定值的用户名列表。我以“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