PHPBB SQL查询几乎正确

时间:2013-02-21 11:51:11

标签: php sql phpbb

在PHPBB中,我正在尝试编辑SQL以获取更多数据,我可以在帖子中使用。标准查询从3个表(user_table,post_table和zebra_table)中获取数据。对于每一行(post),它将数据分配给可以通过PHPBB html文件使用的变量,例如:

'username'          => $row['username'],

因此,在HTML文件中,您可以使用{postrow.USERNAME},它将显示当前循环/帖子的用户名。

标准查询如下所示:

$sql = $db->sql_build_query('SELECT', array(
'SELECT'    => 'u.*, z.friend, z.foe, p.*',

'FROM'      => array(
    USERS_TABLE     => 'u',
    POSTS_TABLE     => 'p',
),

'LEFT_JOIN' => array(
    array(
        'FROM'  => array(ZEBRA_TABLE => 'z'),
        'ON'    => 'z.user_id = ' . $user->data['user_id'] . ' AND z.zebra_id = p.poster_id'
    )
),

'WHERE'     => $db->sql_in_set('p.post_id', $post_list) . '
    AND u.user_id = p.poster_id'

));

我试图从“phpbb_profile_fields_data”表中提取“pf_lol_summoner”值,具体取决于当前所使用的“user_id”:

$sql = $db->sql_build_query('SELECT', array(
    'SELECT'        => 'u.*, pf.pf_lol_summoner, z.friend, z.foe, p.*',

    'FROM'          => array(
            USERS_TABLE             => 'u',
            POSTS_TABLE             => 'p',
    ),
    'LEFT_JOIN'     => array(
            array(
                    'FROM'  => array(ZEBRA_TABLE => 'z'),
                    'ON'    => 'z.user_id = ' . $user->data['user_id'] . ' AND z.zebra_id = p.poster_id'
            ),
            array(
                    'FROM'  => array('phpbb_profile_fields_data' => 'pf'),
                    'ON'    => 'pf.user_id = ' . $user->data['user_id']
            )
    ),
    'WHERE'         => $db->sql_in_set('p.post_id', $post_list) . '
            AND u.user_id = p.poster_id'

));

现在当while循环开始遍历行时,如果我回显:

echo $row['pf_lol_summoner'];

它显示每个帖子的“pf_lol_summoner”值,而不是每个个体值。我认为它使用我的user_id(在cookie中设置)。有人注意到什么吗?

编辑:echo $ row ['username'];工作正常,以及所有其他值。

0 个答案:

没有答案