No Moodle os dados do perfil são cadastrados nas tabelas de campo do perfil mas especificamente na tabela mdl_user_info_data
Para conhecer as tabelas do campo do perfil, consulte esse link: http://comunidade.badiu.com.br/mod/forum/discuss.php?d=193
Para adicionar os campos de dados no relatório do usuário, ou seja, junto com os campos nome e e-mail do usuário, execute no banco o seguinte comando:
SELECT DISTINCT u.id, u.firstname,u.lastname,u.email,u.city, d.data AS campoperfil, d1.data AS campoperfil2 FROM mdl_user u LEFT JOIN mdl_user_info_data d ON d.userid=u.id LEFT JOIN mdl_user_info_data d1 ON d1.userid=u.id WHERE u.confirmed=1 AND d.fieldid=? AND d1.fieldid=?
Nesse SQL adicionamos 2 campos com nome campoperfil e campoperfil1. Para adicionar mais campo, basta seguir a mesma lógica de junção. Para cada campo é necessário fazer um LEFT JOIN na tabela mdl_user_info_data e além disso, fazer filtro no campo fieldid
É necessário passar parâmetro referente ao id do campo em d.fieldid=? e d1.fieldid=? etc
O valor do id que deve ser passado fica na tabela mdl_user_info_field que registra os campos.